/**
 * 可初始化的全局变量
 */
var isStatic = true;
var customVarContainer = {};
var g_XDoc = [];
if(g_XDoc[3] == undefined) g_XDoc[3] = {selectSingleNode:function(){return {text:""}}};

var g_JData = new Object();
var msgLife =1000;

g_XDoc["blogCommentCount"] = {};

/**
* 利用ShareObject存储数据
* @param {string} key 存储的key
* @param {string} value 存储内容
* @deprecated 不建议存Object
*/
function setShareData(key,value){
	if (window._shareObjectReady){
		$("shareObject").set("seed",Math.random());
		$("shareObject").set(key,value);
		$("shareObject").flush();
	}
}

//////////////////////////////////////////////basic start
//检查登陆态
function checkLogin(){
	if(parent.g_iLoginUin>10000){
		return parent.g_iLoginUin;
	}else{
		var t=parseInt(QZONE.cookie.get("zzpaneluin"),10);
		if (!isNaN(t) && (t > 10000)) {
			parent.g_iLoginUin = t;
			return t;
		}
		t=parseInt(QZONE.cookie.get("uin").replace(/[^\d]/g,""),10);
		if (!isNaN(t) && (t > 10000)) {
			parent.g_iLoginUin = t;
			return t;
		} else return 0;
	}
}
checkLogin();


//优化setTimeout
if(!window.setTimeout.constructor){
	(function(){
		var s=window.setTimeout;
		window.setTimeout=function(f, d){
			if(typeof f=='function'){
				var a=Array.prototype.slice.call(arguments,2);
				return s((function(){f.apply(null,a);}),d);
			}
			return s(f,d);
		}
	})()
}

//优化setInterval
if(!window.setInterval.constructor){
	(function(){
		var i=window.setInterval;
		window.setInterval=function(f,d){
			if(typeof f=='function'){
				var a=Array.prototype.slice.call(arguments,2);
				return i((function(){f.apply(null,a);}),d);
			}
			return i(f,d);
		}
	})()
}
//基础函数
String.prototype.trim=function(t){
	return (!t)?(this.replace(/^\s+|\s+$/g,"")):((t=="L")?(this.replace(/^\s+/,"")):((t=="R")?(this.replace(/\s+$/,"")):(this)));
};

String.prototype.convCR=function(r){
	return (!!r)?this.replace(/<br \/>/g,"\n"):this.replace(/\n/g,"<br />");
};

String.prototype.convSP=function(r){
	return (!!r)?this.replace(/&nbsp;/g," "):this.replace(/\x20\x20/g,"&nbsp;&nbsp;");
};

String.prototype.convHtmlChar = function(){
	return this.replace(/&#92;/g,"\\").replace(/&quot;/g,"\"").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;/g,"&").replace(/&#39;/g,"\'");
};

String.prototype.s2n=function(){
	var t=parseInt(this.replace(/px$/i,""),10);
	return isNaN(t)?0:t;
};

String.prototype.toInnerHTML=function(){
	var s=this.replace(/&/g,"&amp;").replace(/\"/g,"&quot;").replace(/\'/g,"&#39;").replace(/</g,"&lt;").replace(/>/g,"&gt;");
	return Browser.isIE?s.replace(/&apos;/g,"&#39;"):s;
};

String.prototype.toRealStr=function(){
	return this.replace(/&quot;/g,"\"").replace(/(?:&#39;)|(?:&apos;)/g,"\'").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&amp;/g,"&");
};

String.prototype.getRealLength = function(){
	return this.replace(/[^\x00-\xff]/g,"aa").length;
};

String.prototype.URLencode=function(){
	return this.replace(/[\x09\x0A\x0D\x21-\x29\x2B\x2C\x2F\x3A-\x3F\x5B-\x5E\x60\x7B-\x7E]/g,function(a){return "%"+((a.charCodeAt(0)<16)?("0"+a.charCodeAt(0).toString(16)):(a.charCodeAt(0).toString(16)))}).replace(/[\x00-\x20 ]/g,"+");
};

// 折半
String.prototype.cutWord = function(nRealLength) {
	var oThis = this.toRealStr();
	if(oThis.getRealLength() <= nRealLength || nRealLength <= 0)
		return oThis.toInnerHTML();
	
	var str = "";
	var nEndIndex = Math.floor(nRealLength/2);
	while(1) {
		str = oThis.substr(0, nEndIndex);
		if(str.getRealLength() < nRealLength-1) {
			nEndIndex = nEndIndex + Math.floor((nRealLength-str.getRealLength())/2);
		}
		else if(str.getRealLength() > nRealLength) {
			nEndIndex = nEndIndex - Math.floor((str.getRealLength()-nRealLength)/2);
		}
		else if(str.getRealLength() == nRealLength) {
			break;
		}
		else {
			if(nEndIndex<oThis.length && !isMultipleByte(oThis.charCodeAt(nEndIndex))) {
				str = oThis.substr(0, nEndIndex+1);
			}
			break;
		}
	}

	return str.toInnerHTML();
}

function isMultipleByte(ch) {
	var value = parseInt(ch.toString(16), 16);
	if(value < 0x00 || value > 0xff)
		return true;

	return false;
}


function $(id){
	return document.getElementById(id);
}

function _$(id){
	return document.getElementsByName(id);
}

function $n(tagName, name) {
	var arr = new Array();
	var e = document.getElementsByTagName(tagName);
	for(i=0; i<e.length; ++i) {
		if(e[i].getAttribute("name") == name) {
			arr.push(e[i]);
		}
	}
	if(arr.length==0){//用name获取不到的情况下，执行getElementsByTagNameAndId的逻辑
		for(i=0; i<e.length; ++i) {
			if(e[i].getAttribute("id") == name) {
				arr.push(e[i]);
			}
		}
	}
	return arr;
}

//清空数组
function clearArray(arr){
	arr.splice(0,arr.length);
}

//取消数组中的重复项目除了undefined
function destinctArray(arr){
	var res=[];
	for(var i=0;i<arr.length;i++){
		if(arr[i]===void(0))
			continue;
		for(var j=i+1;j<arr.length;j++){
			if(arr[i]===arr[j])
				arr[j]=void(0);
		}
		res.push(arr[i]);
	}
	return res;
}

//获取element的位置
function getPosition(obj) {
	var top=0;
	var left=0;
	var width=obj.offsetWidth;
	var height=obj.offsetHeight;
	while (obj.offsetParent) {
			top += obj.offsetTop;
			left += obj.offsetLeft;
			obj = obj.offsetParent;
		}
	return {"top":top,"left":left,"width":width,"height":height};
}

//删除DOM
function removeElement(element){
	if((typeof element)=="string")
		element=$(element);

	if(!!element && (typeof element)=="object"){
		element.parentNode.removeChild(element);
	}
}

function showLoginBox(s, t, msg){
	if (!!s && !!t) s += ("&anon=" + ((!!t) ? 1 : 0));
	if (!!s && !!msg) s += ("&msg=" + encodeURIComponent(msg));
	
	popupDialog("登录Qzone", '<iframe frameborder="no" style="border:none;width:370px;height:240px" src="http://ui.ptlogin2.qq.com/cgi-bin/login?appid=8000108&hide_title_bar=1&target=self&link_target=blank&f_url=http%3A%2F%2F' + imgcacheDomain + '%2Fqzone%2Fv5%2Floginerr.html&s_url=http%3A%2F%2F' + imgcacheDomain + '%2Fqzone%2Fv5%2Floginsucc.html' + (!!s ? ('%3fpara%3d' + s) : '') + '"></iframe>', 376, 280);
	QZONE.event.preventDefault();
}

function popupNewDialog(title, html, width, height){
	height+=30;
	if (!window._currentPop) {
		window._currentPop = QZONE.dialog.create(title, html, width, height);
		var b = QZONE.dom.get("dialog_button_" + window._currentPop._id);
		b.onclick = closeNewPopup;
		pContent = QZONE.dom.get("dialog_content_" + window._currentPop._id);
		if (pContent.childNodes[0].tagName == "IFRAME") {
			if (width && height) {
				pContent.childNodes[0].style.width = "100%";
				pContent.childNodes[0].style.height = pContent.offsetHeight + "px";
			}
		}

		ENV.set("popupMaskId",QZONE.maskLayout.create());
	}

	//var oDialog = QZONE.dom.get("dialog_" + window._currentPop._id);
	//oDialog.style.top = (QZONE.dom.getClientHeight() - height)/2 - 20 + "px";
}

function closeNewPopup(){
	if (window.popupCallback) {
		window._currentPop.onUnload = function(){
			if (typeof(window.popupCallback) == 'function') window.popupCallback();
			window.popupCallback = null;
		}
	}
	
	if (window._currentPop) {
		window._currentPop.unload();
		window._currentPop = null;
	} else if (QZONE.dialog.lastFocus) {
		QZONE.dialog.lastFocus.unload();
	}
	QZONE.maskLayout.remove(ENV.get("popupMaskId"));
	ENV.del("popupMaskId");
	return true;
}

var popupDialog = popupNewDialog;
var closePopup = closeNewPopup;

function getScrollTop() {
	return Math.max(document.documentElement.scrollTop, document.body.scrollTop);
}

function getClientHeight (){
	return document.compatMode == "CSS1Compat" ? document.documentElement.clientHeight : document.body.clientHeight;
}

function getClientWidth() {
	return document.compatMode == "CSS1Compat" ? document.documentElement.clientWidth : document.body.clientWidth;
}

function getPosition(obj) {
	var top=0;
	var left=0;
	var width=obj.offsetWidth;
	var height=obj.offsetHeight;
	while (obj.offsetParent) {
			top += obj.offsetTop;
			left += obj.offsetLeft;
			obj = obj.offsetParent;
		}
	return {"top":top,"left":left,"width":width,"height":height};
}

function getElementInBody(id,tagName,insertFirst,parentNodeID,className,initCSSText){
    var e = $(id);
    if (!e){
        tagName = (!tagName)?"div":tagName; //如果没有设置tagName 则默认为div
        e = document.createElement(tagName);
        e.id = id;
        var parentNode = (!parentNodeID)?document.body:$(parentNodeID)
        if (insertFirst)
            parentNode.insertBefore(e,parentNode.firstChild);
        else
            parentNode.appendChild(e);
        e.className = className?className:"";
        e.style.cssText = initCSSText?initCSSText:"";
    }
    parentNode = null;
    return e;
}

function getBitMapFlag(i){
	if(typeof g_UserBitmap=="string")
		return parseInt(g_UserBitmap.charAt(15-Math.floor((i-1)/4)),16) >>((i-1)%4) &1;
	else
		return 0;
}

function showMsgbox(msg,type,liveTime,imageSrc,isCenter,left,top){
	msg = (!msg)?"正在处理，请稍候...":msg;
	type = type?type:0;
	var msgBox = getElementInBody("msgBoxDiv","div");
	msgBox.style.cssText = "position:absolute;width:100%;left:0px;top:0px;height:100%;" + (left?"":"text-align:center;");
	var strHTML;
	
	if (imageSrc){
		strHTML =  '<img src="'+imageSrc+'" border="0"/>';
		var img = new Image();
		img.src = imageSrc;
		h = parseInt(img.height);
	}else{
		var msgTemp = '<div id="__className__" style="position:static;display:inline"><span class="tipsl"></span><span class="tipsm">__text__</span><span class="__tipsType__"></span></div>';
		var c = (type<2)?"mode_tipss":"mode_tips";
		var c1 = (type == 1 || type == 3)?"tipsrn":"tipsr";
		strHTML =  msgTemp.replace(/__className__/,c).replace(/__tipsType__/,c1).replace(/__text__/,msg);
	}
	
	msgBox.innerHTML = strHTML;
	var	pos = getPosition(msgBox);	
	msgBox.style.marginLeft = getClientWidth()/2  - 100 + "px";
	msgBox.style.paddingTop = getClientHeight() / 2 + getScrollTop() - 40 + "px";

	if (liveTime) window.setTimeout(hideMsgbox,liveTime);
}

/**
 * 隐藏信息框
 * @see #showMsgbox
 */
function hideMsgbox(){
	var msgBox = $("msgBoxDiv");
	if (!msgBox) return;
	removeElement(msgBox);
}

function fixImagesSize(){
	var imgs = $('veryContent').getElementsByTagName('img');
	for(var i=0;i<imgs.length;i++)
		if(imgs[i].complete){
			picsize(imgs[i],670);
		}else{
			imgs[i].onload = function(){
				picsize(this,670);
			}
		}
}

/**
*JSON对象克隆方法 不能够克隆 function undefined 两种值
*@param {Object/Array/String/Number} obj 入值
*@return 克隆出来的新对象
*/
function objectClone(obj,preventName){
	if((typeof obj)===(typeof null)){
		var res=(!obj.sort)?{}:[];
		for(var i in obj){
			if(i!=preventName)
				res[i]=objectClone(obj[i],preventName);
		}
		return res;
	}
	return obj;
}
	
function getCookie(name){
	var r = new RegExp("(^|;|\\s)*"+name+"=([^;]*)(;|$)");
	var m = document.cookie.match(r);
	return (!m?"":m[2]);
}
function setCookie(name,value){
	document.cookie = name+"="+value+"; path=/; ;domain=qq.com";
}
function deleteCookie(name){
	document.cookie = name+"=;domain=qq.com;expires="+(new Date(0)).toGMTString();
}

var Browser = new Object();
Browser.isIE = window.ActiveXObject ? true : false;
Browser.isIE7 = Browser.isIE && window.XMLHttpRequest;
Browser.isIE8 = Browser.isIE && window.XDomainRequest;
Browser.isMozilla = Browser.isIE?false:(typeof document.implementation != 'undefined') && (typeof document.implementation.createDocument != 'undefined') && (typeof HTMLDocument!='undefined');
Browser.isFirefox = Browser.isIE?false:(navigator.userAgent.toLowerCase().indexOf("firefox")!=-1);
Browser.isSafari = Browser.isIE?false:(navigator.userAgent.toLowerCase().indexOf("safari")!=-1);
Browser.isOpera = Browser.isIE?false:(navigator.userAgent.toLowerCase().indexOf("opera")!=-1);

function loadJsonData(xID,url,callback,errcallback,refresh,charset,callbackFunctionName){
	if (parent.g_JData[xID] && !refresh && !parent.g_JData[xID].error) {
		callback(parent.g_JData[xID]);
		return;
	}
	charset = charset ? charset : "gb2312";	
	var cFN = callbackFunctionName ? callbackFunctionName : "JsonCallback";
	var snd = new QZONE.JSONGetter(url, void(0), null, charset);
	snd.onSuccess = function(o){
		try{
			callback(parent.g_JData[xID] = o);
		}catch(err){
			if(err.number && err.number==-2146823281){
			}
		}
	};
	if (typeof(errcallback) == 'function') {
		snd.onError = errcallback;
	}
	snd.send(cFN);		
}

function includeJS(src,option,_doc){
	var s = new QZONE.JsLoader();
	if (typeof(option) == 'function') s.onload = option;
	s.load(src, _doc, "gb2312");	
}

var callBackHsmp=new Array();
function selectXMLNode(data, path) {
	return (!Browser.isIE) ? XMLselectSingleNode(data, path) : data.selectSingleNode(path);
}

function XMLselectSingleNode(o, xpath) {
	var x = XMLselectNodes(o, xpath)
	if (!x || x.length < 1)
		return null;
	return x[0];
}
function XMLselectNodes(o, xpath) {
	var xpe = new XPathEvaluator();
	var nsResolver = xpe.createNSResolver(o.ownerDocument == null ? o.documentElement : o.ownerDocument.documentElement);
	var result = xpe.evaluate(xpath, o, nsResolver, 0, null);
	var found = [];
	var res;
	while (res = result.iterateNext()) {
		found.push(res);
	}
	return found;
}
function getXMLNodeText(node) {
	return node.innerText || node.textContent || node.text;
}

function loadXMLAsyncNoCache(xID, xUrl, callback, err_callback,data,returnType){return loadXMLAsync(xID, xUrl, callback, err_callback,true,data,returnType);};	
function LoadXMLDataEx(itemno,url,callback,err_callback,data){return loadXMLAsync(itemno, url, callback, err_callback,false,data);};

function loadXMLAsync(xID, xUrl, callback, err_callback,nocache,data,returnType) {
	var m=xUrl.match(/(^http:\/\/([a-z,A-Z,0-9,\-,_,\.]+\.qq\.com)\/)/);
	if(!m){alert("不能访问非qq.com域的资源");return;}
	var domain = m[0];
	var host = m[2];
	var proxyPageURL = domain+"proxy.html";
	
	var f = document.getElementsByTagName("iframe");
	for(var i=0;i<f.length;i++) {
		var isRightProxy=false;
		try{isRightProxy=f[i].src.indexOf(proxyPageURL)==0}catch(e){}
		if(isRightProxy){//找到了代理页面
			if(!callBackHsmp[host] && typeof callBackHsmp[host] != "undefined"){//代理页面没用回调等待队列（初始化已经完成）
				frames[i].loadXMLAsync(xID, xUrl, callback, err_callback,nocache,data,returnType);
			}else{
				if (typeof callBackHsmp[host] == "undefined") callBackHsmp[host] = [];
				callBackHsmp[host][callBackHsmp[host].length]={
					"callback":callback,
					"xID":xID,
					"xUrl":xUrl,
					"err_callback":err_callback,
					"nocache":nocache,
					"data":data,
					"returnType":returnType
				};
			}
			return;
		}
	}
	
	if (!callBackHsmp[host]){
			callBackHsmp[host]=[{
				"callback":callback,
				"xID":xID,
				"xUrl":xUrl,
				"err_callback":err_callback,
				"nocache":nocache,
				"data":data,
				"returnType":returnType
			}];
		createProxy(proxyPageURL);
	}
};

/**
 * 创建proxy页面
 * @param {String} src
 */
function createProxy(src){
	var f = document.getElementsByTagName("iframe");
	for(var i=0;i<f.length;i++)
		if (f[i].src.indexOf(src)!= -1) return;
	
	var i = document.createElement("iframe");
	var proxyDiv = $("proxy");
	if (!proxyDiv) document.body.insertBefore(i,null); else $("proxy").appendChild(i);
	i.width=0;
	i.height=0;
	i.src=src;
	i = null;
}

function doFill(templetHTML,xDoc,xLevel){
	xLevel = xLevel?xLevel:0;
	var r_index = /<%=index%>/g;
	var r_text = /<%=text%>/g;
	var r_attribute_global = /<%=@(\w+)%>/g;
	var r_escape_text = /<%=#text%>/g
	//#表示内容需要进行escape后插入到页面中间的脚本中去
	var r_plain_text = /<%=~text%>/g
	//~表示需要无格式内容，即去除所有的换行、制表符、单双引号
	var r_entity_text = /<%=&text%>/g
	//&表示内容需要进行text2HTML转换，吧符号转义为实体。
	var isXML = !!xDoc.xml;
	var stRegPrefix = "<%repeat_"+xLevel+"\\s*match=\"([^\"]+)\"[^%]*%>";
	var stRegContent = "<%repeat_"+xLevel+"[^>]*%>((.|\\n)+)<%_repeat_"+xLevel+"%>";

	var r_repeat_match = new RegExp(stRegPrefix);
	var r_repeat_match_global = new RegExp(stRegPrefix,"g");
	var r_repeat_content = new RegExp(stRegContent);
	var r_repeat_match_next_level = new RegExp("<%repeat_"+(xLevel+1)+" match=\"([^\"]+)\"");

	if (templetHTML.match(r_repeat_match)==null){
		alert("没有找到xml节点<%repeat_"+(xLevel)+"%>");
		return;
	}

	var arPrefix = templetHTML.match(r_repeat_match_global);
	var startPosition = 0;
	for (var i=0;i<arPrefix.length;i++){
		var st = arPrefix[i];
		var nodePath = st.replace(/^.*match=\"|\".*$/g,""); //获得xml节点路径
		if (st.indexOf("preCallback")>0)
			var fnPreCallBack = eval(st.replace(/^.*preCallback=\"|\".*$/g,"")); //获得预回调函数
		if (st.indexOf("callback")>0)
			var fnCallBack = eval(st.replace(/^.*callback=\"|\".*$/g,"")); //获得回调函数
		startPosition = templetHTML.indexOf(st);
		var endPosition = templetHTML.indexOf("<%_repeat_"+xLevel+"%>",startPosition);
		var replaceContent = templetHTML.substring(startPosition,endPosition+13)
		startPosition += st.length;
		var repeatContent = templetHTML.substring(startPosition,endPosition); //获得内容模板
		var nodes = isXML?xDoc.selectNodes(nodePath):objSelectNodes(xDoc,nodePath); //获得xml节点
		var arContent = [];
		var attributes = repeatContent.match(r_attribute_global);
		if (attributes == null) attributes = [];
		var repeatTimes = nodes.length;
		if (st.indexOf("repeat_num")>0){
			var sTimes = st.replace(/^.*repeat_num=\"|\".*$/g,"");
			if(!isNaN(sTimes))
				repeatTimes=Math.min(repeatTimes,parseInt(sTimes,10));
		}

		for (var j=0;j<repeatTimes;j++){
			var node = nodes[j];
			if(fnPreCallBack)fnPreCallBack(node,j);//预处理节点
			var content = repeatContent;
			if (repeatContent.match(r_repeat_match_next_level)!=null) //处理子节点
				content = doFill(repeatContent,node,xLevel+1) // 递归调用
			var st = isXML?node.text:node;
			var s = content.replace(r_index,(j+1));
			if(typeof st=="string"){
				s=s.replace(r_text,st);
				if(r_escape_text.test(s))
					s=s.replace(r_escape_text,escape(st))//需要escape的内容
				if(r_plain_text.test(s))
					s=s.replace(r_plain_text,st.replace(/[\r\n\t'"]/g," "))//需要去除换行和制表符的内容
				if(r_entity_text.test(s))
					s=s.replace(r_entity_text,st.Text2HTML());//需要进行text2html转换的内容
			}
			for (var k=0;k<attributes.length;k++){
				var attrTag = attributes[k].replace(/\W/g,"");
				var attrValue = isXML?nodes[j].getAttribute(attrTag):nodes[j][attrTag];
				if (attrValue==null && isXML && nodes[j].selectSingleNode(attrTag)!=null)  // to verify by hyc
					attrValue = nodes[j].selectSingleNode(attrTag).text;
				if (attrValue==null) attrValue = "";
				if(/@#/.test(attributes[k])) attrValue=escape(attrValue);//需要escape的属性
				if(/@~/.test(attributes[k])) attrValue=attrValue.replace(/[\r\n\t'"]/g," ");//需要去除换行和制表符的属性
				if(/@&/.test(attributes[k])) attrValue=attrValue.Text2HTML();//需要进行text2html转换的属性
				s = s.replace(attributes[k],attrValue);
			}
			
			arContent[j] = s;
			if (fnCallBack) fnCallBack(node,arContent,j);
		}
		templetHTML = templetHTML.replace(replaceContent,arContent.join(""));
	}
	return templetHTML;
}

// json支持
function objSelectNodes(obj,oPath){
	if(/^\//.test(oPath)) oPath = oPath.substr(1);
	var a = oPath.split("/");
	var o = obj[a.shift()];
	if(!o) return [];
	if(!o.sort) o = [o];
	if(a.length==0)	return o;
	var subPath = a.join("/");
	var result = [];
	for(var i=0;i<o.length;i++){
		var a = objSelectNodes(o[i],subPath);
		if(a && a.length>0)
			result = result.concat(a);
	}
	return result;
}

function objSelectSingleNode(obj,oPath){
	var o = objSelectNodes(obj,oPath);
	return (o.length>=1)?(o[0]):(null);
}

function custom_menu_swf(idx,frameName,url){
	switch(parseInt(idx)) {
		case 1:location = 'http://user.qzone.qq.com/'+g_iUin;break;
		case 2:location = 'http://user.qzone.qq.com/'+g_iUin+'/blog';break;
		case 3:location = 'http://user.qzone.qq.com/'+g_iUin+'/music';break;
		case 4:location = 'http://user.qzone.qq.com/'+g_iUin+'/msgboard';break;
		case 5:location = 'http://user.qzone.qq.com/'+g_iUin+'/photo';break;
		case 6:location = 'http://user.qzone.qq.com/'+g_iUin+'/home';break;
		case 7:location = 'http://user.qzone.qq.com/'+g_iUin+'/admin';break;
		case 8:location = 'http://user.qzone.qq.com/'+g_iUin+'/interact';break;
		default:break;
	}
	parent.sdsFlashSW=true;
}

/**
 * 发送读统计状态请求
 * @param {string} url
 * @param {int} t 超时时间(ms)
 */
function send_stat_request(url,t){
	if (!parent.tempStatistic)
		parent.tempStatistic=[];
	var l = parent.tempStatistic.length;
	parent.tempStatistic[l] = new Image();
	with(parent.tempStatistic[l]){
		onload=onerror=new Function('this.ready=true;this.onload=this.onerror=null;parent.stat_image_clean();');
	}
	setTimeout("parent.tempStatistic["+l+"].src = '"+url+"';",t);
}
/**
 * 清理统计状态请求所使用的图片
 *
 */
function stat_image_clean(){
	var t=[];
	for(var i=0,l=parent.tempStatistic.length;i<l;i++){
		if(!!parent.tempStatistic.ready)
			t.push(i);
	}
	for(var i=0,l=t.length;i<l;i++){
		delete parent.tempStatistic[t[i]];
	}
}

//小纸条公版发送页面
function showMsgSender(){
	var qqnum=!!arguments[0]?arguments[0]:"";
	var title=!!arguments[1]?arguments[1]:"";
	var content=!!arguments[2]?arguments[2]:"";
	
	if(!(parent.checkLogin()>10000)){ // 如果验证登录错误，将显示登录框
		parent.showLoginBox('msg');
		return;
	}

	var s=([encodeURIComponent(qqnum),encodeURIComponent(title),encodeURIComponent(content)]).join("|");

	popupDialog("发送小纸条",'<iframe border="no" style="border:none;width:600px;height:422px" src="http://'+imgcacheDomain+'/qzone/admin/msg_editor.html?para='+s+'"></iframe>',580,410);
}

function addFavorUin(uin,isMyFriend){
	if(!(parent.checkLogin()>10000)){ // 如果验证登录错误，将显示登录框
		parent.showLoginBox("fav");
		return;
	}
	if(!uin) uin=g_iUin;
	
	window._addFavData = {"other_uin":uin,"uin":parent.g_iLoginUin,"main":parent.g_Main_Domain,"isMyFriend":isMyFriend,"property":parent.g_Property};

	popupDialog("添加 ["+ uin + "] 为空间好友",'<iframe frameBorder="no" style="border:none;width:350px;height:218px" src="http://'+imgcacheDomain+'/qzone/friends/friend_add_popup.html"></iframe>',350,244);
}

function goQQTX(){
	if(parent.checkLogin()>10000){
		if(parent.g_iLoginUin==parent.g_iUin){
			parent.tall("个人信息","ttinfo","http://"+parent.imgcacheDomain+"/qzone/admin/user_infomation_main.html#9");
		}
		else{
			parent.location.href="http://user.qzone.qq.com/"+parent.g_iLoginUin+"/qqtx/";
		}
	}else{
		if(!!parent.showLoginBox){
			parent.showLoginBox("portrait");
		}
	}
}

function texttrn(id){
	var fontMap = "舒体隶书彩云细黑新魏宋体姚体幼圆仿宋行楷";
	return fontMap.substring(2*(id - 1),2*id);
}

//////////////////////////////////////////////////////// basic end
//日志全局常量/变量
var bProcessingReq = false;
var isStar=(getBitMapFlag(7)==1);
var isBiz=(getBitMapFlag(5)==1);

var PAGE_TITLE_NUM=20;
var PAGE_COMMENT_NUM=(parent.g_iUin==19990210)?45:15;
var MAX_COMMENT_LEN=4500;
var MAX_BLOG_LEN=20000;
var MAX_BLOG_TITLE_LEN=128;
var BLOG_DOMAIN=parent.g_NewBlog_Domain;
var IMGCACHE_DOMAIN=parent.imgcacheDomain;//根据前置机修改
var CGI_PATH="/cgi-bin/blognew/";
var COMMENT_LIST_TMP = "blogStaticCommentList"; 
var BUSY_MSG="服务器忙,请您稍候再试";
var ownerSig="";
//if(!!parent.g_XDoc[3] && !!selectXMLNode(parent.g_XDoc[3],"/data/signature"))
//	ownerSig=selectXMLNode(parent.g_XDoc[3],"/data/signature").text;

var serrCallback=function(){dalert(null,BUSY_MSG)};
var enterBlog=(/\/blog/i).test(parent.location.href);

var portraitTipsTimeout;
var blogLoginFnList=[];//登录后需要使用的功能function队列(FIFO)

if(parent.g_JData["portraitList"]===undefined)	parent.g_JData["portraitList"]={};

//日志标题效果影射表,type是效果种类
//0是className;
//1是prefix;
//2是postfix(如果type:0,后面的string中可以用"|"分割出categoryTips)
//3是标题内容替换
var titleEffectMap={
	"1":{type:2,string:"图",className:"icon_pic"},
	"2":{type:0,string:"xmd"},
	"8":{type:1,string:"转"},
	"16":{type:1,string:"顶"},
	"128":{type:0,string:"mobileblog|用手机发彩信随时随地写日志|彩信|http://m-qzone.qq.com/?from=qzoneJD"},
	"256":(parent.g_iLoginUin==parent.g_iUin?{type:2,string:"审核未通过"}:{type:3,string:"[此文章内容审核未通过]"}),//C17
	"1024":{type:0,string:"mobileblog|手机登陆z.qq.com,随时随地记录我心情|手机Qzone|http://3gqq.qq.com/qzone"},
	"2048":{type:0,string:"videoblog|视频日志|QQVideo|http://video.qq.com"},
	"4096":{type:2,string:"Flash",className:"icon_flash"},
	"8192":{type:2,string:"视频",className:"icon_video"},
	"16384":{type:2,string:"音频",className:"icon_music"},
	"32768":{type:0,string:"mobileblog|短信日志|短信|http://m-qzone.qq.com/function_3.jsp"},
	"131072":{type:0,string:"ppblog|网购经历|网购经历|http://www.paipai.com"},
	"1048576":{type:0,string:"qmailblog|QQMail日志|QQ邮箱|http://mail.qq.com"},
	"2097152":{type:1,string:"荐"},
	"4194304":(parent.g_iLoginUin==parent.g_iUin?{type:2,string:"审核中"}:{type:3,string:"[此文章内容正在审核中]"}),//C17
	"8388608":{type:2,string:"信纸",className:"icon_letter"},
	"16777216":{type:1,string:"看美女，找帅哥，来城市达人！（<a href='http://city.qzone.qq.com' target='_blank'>http://city.qzone.qq.com</a>）"},
	"33554432":{type:2,string:"动感影集",className:"icon_vphoto"},
	"67108864":{type:2,string:"QQ秀泡泡",className:"icon_qqshow_tip"},
	"268435456":{type:0,string:"cft|赈灾捐款"},
	"524288":{type:0,string:"|QQ校友|QQ校友|http://xiaoyou.qq.com"}
};

//各个模版定义模版中的空格不可取消
var blogTemplete = {
	voteList:'<table class="poll_table"><caption class="none"></caption><colgroup><col /><col style="width:auto" /><col style="width:6em" /><col style="width:3em" /></colgroup><thead class="none"><tr><th scope="col" class="bbor">选项</th><th scope="col" class="bbor">票数</th></tr></thead><tbody><%repeat_0 match="/data/optionlist"%><tr title="<%=@title%> -- <%=@count%>票 [<%=@percentStr%>]"><td class="blog_vote_option"><span class="fix"><label for="option_<%=@id%>"><input type="<%=@optionType%>" name="voteOption" value="<%=@id%>" id="option_<%=@id%>" /><%=@title%></label></span></td><td ><div class="poll_plan<%=@icon%>"><span class="plan" style="width:<%=@barWidth%>"></span> <%=@count%>票[<%=@percentStr%>]</div></td><td></td></tr><%_repeat_0%></tbody></table><div class="bt_vote"><button class="bt_tx2" onclick="vote()">投票</button></div>',
	blogStaticCommentList:'<%repeat_0 match="/replylist"%><div class="comment_list bgr"><div class="comment_info bg2"><span class="right"><span id="mirror_<%=@replyid%>"><%=@mirror_%></span><span id="btnReply<%=@replyid%>" class="ownermode <%=@replybutton%>"><a href="javascript:;" class="c_tx" onClick="showReplyEditor(<%=@replyid%>);return false;"><img src="http://'+imgcacheDomain+'/ac/b.gif" alt="回复该评论" class="icon_person_face" />回复</a>  </span><a href="javascript:;" title="引用该评论" style="text-underline:none" onclick="quoteReply(<%=@replyid%>);return false;" class="c_tx <%=@canquote%>"><img src="/ac/b.gif" class="icon_info_message" />引用</a><span class="<%=@reportbutton%> <%=@campusHide%>" style="cursor:pointer" id="btnReport<%=@replyid%>" onclick="reportReply(\'<%=@replyuin%>\',<%=@replyid%>,<%=@replyarch%>);" title="举报此评论"><img src="http://'+parent.imgcacheDomain+'/ac/b.gif" alt="举报" class="icon_report" align="absmiddle"/>举报</span><a href="javascript:;" onclick="delReply(\'<%=@replyuin%>\', <%=@replyid%>,<%=@replyarch%>);return false;" class="ownermode" style="cursor:pointer" title="删除该评论"><img src="/ac/b.gif" class="icon_del" align="absmiddle"/>删除</a></span><span name="floorNum"><%=@floornum%></span>楼 <span id="effectNick_<%=@replyid%>" class="c_tx"><%=@effectNick_%></span>&nbsp;<span><%=@angel_%></span>&nbsp;评论时间：<span class="c_tx3"><%=@replytime%></span></div><div class="comment_cont"><%=@replycontentParsed%><div style="margin-top:13px;"><div id="masterComment<%=@replyid%>" class="<%=@replyclass%>" style="padding-top:5px;"><%=@revert%></div><div id="mcEditor<%=@replyid%>" style="display:none;"></div></div></div></div><div class="mode_sign showsign" style="display:none"><%=@replyautograph%></div></div><%_repeat_0%>'	
};

var campusName = {};
var campusLink = {};
var replyUins = [];
var replyCampusUins = [];
var campusportaritRqList = [];

function BlogTopCache(){
	this.contentHSList={};
	this.voteHSList={};
	this.titleList={};
	this.spaceOwnerSign=null;
	this.visitorTrace=null;
	this.categoryList=null;
	this.listCache={};
	this.titlePageMap={};
	this.replyNumUpdateHSmap={};
}

window.firstPage=window.lastPage=window.prePage=window.nextPage=function(){};

//名博商博单独PV统计
function sendUPV(blogid){
	if(isStar){
		send_stat_request("http://n.qzone.qq.com/cgi-bin/pvuv/set_pvuv?uin="+parent.g_iUin+"&module=1&submodule=1&debug=1&jl="+Math.random(), 100);	
	}
	else if(isBiz) {
		send_stat_request("http://p3.qzone.qq.com/fcg-bin/fcg_brand_pu_view?branduin="+parent.g_iUin+"&command=4&info=2,0&sds="+Math.random(),1000);
	}
}

//发送PV请求
function sendPV(action, domain){
	var pvCurDomain = "";
	if(!!domain) pvCurDomain = domain;
	else pvCurDomain = (isBiz?"biz.qzone.qq.com":(isStar?"star.qzone.qq.com":"blog.qzone.qq.com"));
	var pvCurUrl="/"+action;
	var data=[
		"dm="+pvCurDomain,
		"url="+encodeURIComponent(pvCurUrl),
	];
	var r=/https?:\/\/(\w+(\.\w+)+)(\/[^?#]*)?/;
	var m=document.referrer.match(r);
	if(!!m){
		if(m.length>1)
			data.push("rdm="+m[1]);
		if(m.length>3)
			data.push("rurl="+encodeURIComponent(m[3]));
	}
	var c=parent.getCookie("pvid");
	if(!c){
		c=(Math.round(Math.random()* 2147483647)*(new Date().getUTCMilliseconds()))%10000000000;
	}
	data.push("pvid="+c);

	send_stat_request("http://pingfore.qq.com/pingd?scr=-&scl=-&lang=-&java=1&cc=-&pf=-&tz=-8&ct=-&vs=3.3&tt=-&"+data.join("&")+"&sds="+Math.random(),1000);
}

//错误输出
function dalert(o,s,t,type){
	if(!type)
		type=3;
	if(!!o && !!o.error)
		s=o.error.msg;
	parent.showMsgbox(s,type,(!!t)?t:2500);
}

//发送小纸条
function fnWriteMsg(uin){
	if (checkLogin()<=10000){
		parent.showLoginBox("blogComment",false,"发小纸条前需要先确认您的身份");
		return;
	}
	parent.showMsgSender(uin);
}

//由CGI返回的long型时间转换成友好时间字符串
function long2time(n){
	var _time=new Date(n*1000);
	return ([_time.getFullYear(),"年",_time.getMonth()+1,"月",_time.getDate(),"日 ",_time.getHours(),"时",_time.getMinutes(),"分",_time.getSeconds(),"秒"]).join("");
}

//由CGI返回的long型时间转换成友好时间字符串
function long2ShortTime(n){
	var _time=new Date(n*1000);
	var _m = _time.getMinutes().toString();
	var _s = _time.getSeconds().toString();
	_m = _m.length<2?"0"+_m:_m;
	_s = _s.length<2?"0"+_s:_s;

	return ([_time.getHours(),":",_m,":",_s]).join("");
}

//修正主客模式显示
function setLoginStatus(){
	var uin=checkLogin();
	var o=document.styleSheets["dynamicStyle"];
	if(!o) return; // 在编辑页面中该对象不存在，而且页面中没有对应的样式
	try{
		with(o){
			(rules || cssRules)[1].style.display=(uin>10000 && uin==parent.g_iUin)?"":"none";//owner 主人类显示控制
			(rules || cssRules)[2].style.display=(uin>10000)?"":"none";//logins 登录用户显示控制
			(rules || cssRules)[3].style.display=(uin!=parent.g_iUin)?"":"none";//clients 客人显示控制
			(rules || cssRules)[5].style.display=(!!window.currentDraftID ? "" : "none");//草稿内容控制
			(rules || cssRules)[6].style.display=(!!window.currentDraftID ? "none" : "");//草稿内容控制
		}
	}catch(err) {}
}

//登录后回调，调整状态
function loginCallback(){
	setLoginStatus();
	try{
		while(blogLoginFnList.length>0)
			(blogLoginFnList.shift())();  // callback func maybe undefined
	}catch(err) {}
}

//分离效果位域
function effectSplit(n){
	if(n==0 || isNaN(n))
		return [];
	var resultArr=[];
	var s=n.toString(2);
	var m=s.length;
	var re=/^1[0]*/;
	while(m>0){
		resultArr.push((1<<(m-1))+"");
		s=s.replace(re,"");
		m=s.length
	}
	return resultArr;
}

//填充缓存
function fillCache(o){
	if(!!o && !!o.data){
		if(!!o.data.replylist){//正文以及评论列表部分
			if(!!o.data.content)
				parent.g_XDoc["blogRoot"].contentHSList[o.data.blogid]=o.data;
			var t=contentProperty.currentCommentPage;
			if(t==0){
				contentProperty.pageIndexMap[t]="0_0_1";
				if(!contentProperty.pageList)
					contentProperty.pageList={};
				contentProperty.pageList[contentProperty.pageIndexMap[t]]=parent.g_XDoc["blogRoot"].contentHSList[contentProperty.currentBlogid];
			}
			else if(t>0){
				if(!contentProperty.pageList)
					contentProperty.pageList={};
				var _o=contentProperty.pageList[contentProperty.pageIndexMap[t-1]];
				if(!!_o){
					var hs=([_o.next_arch,_o.next_pos,1]).join("_");
					contentProperty.pageIndexMap[t]=hs;
					contentProperty.pageList[hs]=o.data;
				}
			}
		}		
	}
}

//准备翻页处理函数
function preparePageNavigator(o) {
	if(!!o && !!o.data){
		if(!!o.data.replylist){//评论列表准备
			if(!!o.data.replynum)
				contentProperty.totalCommentNumber=o.data.replynum;

			var tp=Math.ceil(contentProperty.totalCommentNumber/PAGE_COMMENT_NUM);

			with(contentProperty){
				if(currentCommentPage==tp)
					currentCommentPage--;
				if(currentCommentPage<0){
					currentCommentPage=tp+currentCommentPage+1;
				}
			}
		}
	}
}

//显示页码导航
function showPageNums() {
	var total=0;
	var cp=0;
	var tp=0;
	
	total=contentProperty.totalCommentNumber;
	tp=Math.ceil(contentProperty.totalCommentNumber/PAGE_COMMENT_NUM);
	cp=(contentProperty.currentCommentPage+1);

	var sp=$n("span", "totalCommentNum");
	sp[1].innerHTML=sp[0].innerHTML=total;
	sp=$n("span","totalPageNum");
	sp[1].innerHTML=sp[0].innerHTML=tp;
	sp=$n("span", "currentPageNum");		
	sp[1].innerHTML=sp[0].innerHTML=(cp==-1)?tp:cp;

	var containerArr = [];
	containerArr.push($("commentPageIndexBottom"));
	containerArr.push($("commentPageIndexTop"));
	PageIndexManager.init(containerArr, tp, cp, turnCommentPage);
}

//将给定的标题列表数组系列化成html
function listSerialize(listname,l){
	if(!!l && !!listname)
		return parent.doFill(blogTemplete[listname],l,0);
	else
		return "";
}

//解析完善CGI返回的categoryList数据 PS:会改变JSON数据
function prepareBlogContent(o){
	var rcPool=parent.g_XDoc["blogCommentCount"];

	clearArray(crRequestList);
	if(rcPool[o.data.blogid]===undefined){
		rcPool[o.data.blogid]={};
		rcPool[o.data.blogid].c=rcPool[o.data.blogid].reply=o.data.replynum;
	}
	if(rcPool[o.data.blogid].read===undefined || rcPool[o.data.blogid].read=="-")
		crRequestList.push("blogids="+o.data.blogid);
	else
		o.data.viewnum=rcPool[o.data.blogid].read;

	o.data.title=o.data.title.convSP();
	if(!!o.data.parsed)
		return;
		
	//处理日志正文 !!新增属性contentParsed 保护起content供转载
	window._showLinkBubbleSwitch = parent.isBiz; //商博原文去掉链接气泡

	//处理时间特性
	o.data.pubtimeParse = (!!window.currentDraftID ? "保存于：" : "发表于：") + long2time(o.data.pubtime);

	o.data.authorsign=ubbReplace(ownerSig.convSP().convCR(),"face anchor image email sign glow_limit font",null,null,IMGCACHE_DOMAIN);

	o.data.parsed=true;
	window._showLinkBubbleSwitch = false;
}

//获取日志的访问量和评论量
function getBlogCR(cb){
	if(!cb)
		cb=blogCRcallback;
	if(crRequestList.length>0){
		parent.loadJsonData("crget","http://"+BLOG_DOMAIN+CGI_PATH+"blog_get_countlist?type=1&uin="+parent.g_iUin+"&"+crRequestList.join("&")+"&sds="+Math.random(),cb,serrCallback,true,void(0),"_Callback");			
	}
}

//异步获取阅读数的回调
function blogCRcallback(o){
	if(!!o.error)
		return;
	var rcPool=parent.g_XDoc["blogCommentCount"];
	var ac;
	for(var i=0;i<o.data.itemlist.length;i++){
		if(rcPool[o.data.itemlist[i].id]===undefined)
			rcPool[o.data.itemlist[i].id]={};
		
		rcPool[o.data.itemlist[i].id].read = (rcPool[o.data.itemlist[i].id].reply > o.data.itemlist[i].read) ? rcPool[o.data.itemlist[i].id].reply : o.data.itemlist[i].read;
		ac=$("view_"+o.data.itemlist[i].id);
		if(!!ac) {				
			ac.innerHTML = rcPool[o.data.itemlist[i].id].read;
		}
	}
}

//计算当前页
function makeCurrentPage(n){
	if(n!=-2)
		return n;
	else{
		with(parent.g_XDoc["blogRoot"].listCache){
			return Math.ceil(currentTotalNum/PAGE_TITLE_NUM)+n+1;
		}
	}
}

/**
 *转载日志
 *@param {Object} o 按钮对象
 */
function contentQuote(){
	var f=quoteOneBlog;

	if(checkLogin()<=10000){
		clearArray(blogLoginFnList);
		blogLoginFnList.push(f);
		blogLoginFnList.push(contentQuote);
		blogLoginFnList.push(checkLoginState);
		parent.showLoginBox("blogComment",false,"进行转载前需要登录");
		return;
	}

	if(parent.g_iLoginUin == parent.g_iUin) {
		parent.showMsgbox("您不能转载自己的日志", 1, 2500);
		return;
	}

	f();
}

/**
 *转载当前日志
 */
function quoteOneBlog(verifycode){
	if(!!bProcessingReq) return;
	
	try {
		$("btnQuoteOneBlog").disabled = true;
		setTimeout(function(){$("btnQuoteOneBlog").disabled = false;}, 3000);
	}catch(err) {}

	var blog=parent.g_XDoc["blogRoot"].contentHSList[contentProperty.currentBlogid];
	var url="http://"+BLOG_DOMAIN+CGI_PATH+"blog_quote";
	var data = "uin="+parent.g_iLoginUin+"&fromuin="+parent.g_iUin+"&blogid="+contentProperty.currentBlogid+ (!!verifycode ? ("&verifycode="+verifycode) : "");	
		
	bProcessingReq = true;
	parent.loadXMLAsyncNoCache(
		"quoteBlog",
		url,
		function(){
			bProcessingReq = false;
			
			if(!!selectXMLNode(parent.g_XDoc["quoteBlog"], "/error")){
				quoteOneBlogError();
				return;
			}
			else{
				if(!!blog.lp_id && !!blog.lp_style) {  // 信纸
					if(selectXMLNode(parent.g_XDoc["quoteBlog"], "/succ").attributes.length > 0) {
						if(selectXMLNode(parent.g_XDoc["quoteBlog"], "/succ").attributes[0].value == 1) {					
							dalert(null, "转载成功，您成功转载了一篇信纸日志！", 2000, 2);
						}
						else { // 非黄钻用户
							var strURL = 'http://paycenter.qq.com/cgi-bin/showopenservice.cgi?service_type=home&subtype=1&clientkey='+parent.getCookie("zzpanelkey")+'&clientuin='+parent.getCookie("zzpaneluin");
							parent.popupDialog('温馨提示', '<div class="mode_table_mains stencillink bold"><p class="spt2"> 转载日志成功！</p><p class="spt">由于您不是黄钻贵族, 信纸没有成功应用, <a href="'+strURL+'" target="_blank">开通黄钻, 即可免费使用信纸</a></p><div class="center spt2 spb2"><button class="bt_t6 spr" onclick="window.open(\''+strURL+'\')">立即开通黄钻</button><button class="bt_t5 spl" onclick="closePopup();">关闭此页面</button></div></div></div>', 420, 145);							
						}
					}
					else {
						dalert(null,getXMLNodeText(selectXMLNode(parent.g_XDoc["quoteBlog"], "/succ")),1000,2);
					}					
				}
				else {
					dalert(null,getXMLNodeText(selectXMLNode(parent.g_XDoc["quoteBlog"], "/succ")),1000,2);
				}
			}
			
			delete parent.g_XDoc["quoteBlog"];
		},
		quoteOneBlogError,
		data
	);
}

/**
 *转载当前日志错误处理
 */
function quoteOneBlogError(){
	bProcessingReq = false;
	var x=parent.g_XDoc["quoteBlog"];
	var type=selectXMLNode(x,"/error").getAttribute("type");
	var msg= getXMLNodeText(selectXMLNode(x,"/error"));
	if(type=="verify code" || type=="need_verify" || type=="ipc_check"){		
		setTimeout(function() {
			parent.popupCallback = function(verifycode) {
				if(!!verifycode) {
					quoteOneBlog(verifycode);
				}
			};
		}, 1200); // 避免parent.popupCallback在closePopup的onload给置null
		popupDialog('请输入验证码', '<iframe frameborder="no" id="verifycodeFrame" style="width:100%;height:100%" src="/qzone/newblog/v5/verifycode.html?imgcode=8000103&type='+(type=="need_verify" ? 0 : 1)+'"></iframe>', 270, 190);
	}
	else if(type=="login"){
		parent.showLoginBox("blogComment",false,"进行引用前需要登陆");
	}
	else {
		dalert(null,msg);
	}
	delete parent.g_XDoc["quoteBlog"];
}

/**
 *设置/取消置顶
 *@param {Boolean} 是否置顶
 */
function setTop(b){
	if(!b)
		b=!window.isTop;
	
	parent.showMsgbox("正在提交请求，请稍候...", 0);
	parent.loadXMLAsyncNoCache(
		"setTop",
		"http://"+BLOG_DOMAIN+CGI_PATH+"blog_set_top",
		function(){
			if(selectXMLNode(parent.g_XDoc["setTop"],"/error") != null){
				if(selectXMLNode(parent.g_XDoc["setTop"],"/error").getAttribute("type") == "login")
					parent.showLoginBox("ownerOperation",false,"您已登录超时，请重新登录");
				else
					dalert(null,getXMLNodeText(selectXMLNode(parent.g_XDoc["setTop"], "/error")),1500);
					
				delete parent.g_XDoc["setTop"];
			}
			else{
				dalert(null,getXMLNodeText(selectXMLNode(parent.g_XDoc["setTop"], "/succ")),1000,2);
				delete parent.g_XDoc["setTop"];
				window.isTop=b;
				$("btnSetTop").innerHTML=(!!window.isTop)?"取消置顶":"设置置顶";
				delete parent.g_XDoc["blogRoot"];
				parent.isRefreshTop=true;
				parent.g_JData[1]=null;
				setTimeout(contentInit,50);
			}
		},
		function(){
			dalert(null,BUSY_MSG,1500);
			delete parent.g_XDoc["setTop"];
		},
		"uin="+parent.g_iUin+"&blogid="+contentProperty.currentBlogid+"&flag="+(b?1:0)
	);
	
	sendPV('zhiding', "rizhi.qzone.qq.com");
}

/**
 *复制单篇日志url到剪贴板
 */
function copyBlogURL(){
	parent.copyToClip("http://qzone.qq.com/blog/"+parent.g_iUin+"-"+contentProperty.currentBlogid);
	dalert(null,"本文网址已经复制到剪贴板中",1500,2);
	sendPV('copylink', "rizhi.qzone.qq.com");
}

//返回日志标题列表
function backToTitleList(){
	return;
	location.href= "http://user.qzone.qq.com/" + parent.g_iUin + "/blog";
}

//获取用户等级
function getUserGrade(score){
	var t=[0,5,10,15,20,30,40,50,60,75,90];

	if(score<90){
		for(var i=t.length-2;i>=0;i--){
			if(score-t[i]>=0){
				return i;
			}
		}
	}
	else
		return Math.floor(Math.sqrt(score/10))+7;
}

//从用户等级等信息得到等级图片innerHTML
function serializeUserGrade(d){
	if(d==0)
		return '<img style="margin:1px" src="/ac/b.gif" class="grading-0" />';
	var result=[];
	var tmp;
	var t;
	var l;
	tmp=(d.toString(4)).split("");
	if(tmp.length>3){//修正 目前只有3种图片
		t=tmp.shift();
		tmp[0]=parseInt(tmp[0],10)+parseInt(t,10)*4;
	}
	l=tmp.length;
	for(var i=l-1;i>=0;i--){
		t=parseInt(tmp[i],10);
		if(t==0)
			continue;
		result.unshift((new Array(t+1)).join('<img style="margin:1px" src="/ac/b.gif" class="grading-'+(i+(4-l))+'" />'));
	}

	return result.join("");
}

//显示个性头像tips
function showUserGradeTips(g,s,switcher,uin){
	var obj=window.event.srcElement;
	clearTimeout(portraitTipsTimeout);
	var html;
	var offset={w:0,h:0};
	if(!switcher){
		html='<span style="color:black">等级:</span><span style="color:red">'+g+'</span> <span style="color:black">积分:</span><span style="color:red">'+s+'</span> <a href="http://qzone.qq.com/web/help/helpa01.shtml?url=http://qzone.qq.com/web/help/helpb16.htm" target="_blank" style="text-decoration:underline;color:blue">等级积分说明</a>';
		offset.w=(obj.tagName=="DIV")?70:0;
		offset.h=25;
	}
	else{		
		var type =( parent.g_JData["portraitList"][uin] == undefined )?0:parent.g_JData["portraitList"][uin][2];
		var tipStr=[
			'<a href="javascript:parent.goQQTX();" style="text-decoration:underline;color:blue">设置我的个性头像</a>',
			'<a href="http://qzone.qq.com/web/help/helpa01.shtml?url=http://qzone.qq.com/web/help/helpb12.htm" target="_blank" style="text-decoration:underline;color:blue">个性头像说明</a>',
			'<a href="http://qqshow.qq.com" target="_blank" style="text-decoration:underline;color:blue">进入QQ秀商城</a>',
			'<a href="http://show8.qq.com/my/inc/user_portal_info.html?opuin='+uin+'" target="_blank" style="text-decoration:underline;color:blue">查看QQ秀资料</a>',
			'<a href="http://city.qzone.qq.com/index.php?mod=user&act=guest&uin='+uin+'" target="_blank" style="text-decoration:underline;color:blue">查看城市达人资料</a>',
			'<a href="http://city.qzone.qq.com" target="_blank" style="text-decoration:underline;color:blue">什么是城市达人</a>'
		];

		switch(type) {
			case 0:  // 没有设置头像
			case 2:  // 系统头像
			case 3:  // 用户自定义头像
			case 5:	 // 个人文档头像
				html=tipStr[0]+" "+tipStr[1];	
				break;
			case 1:  // QQshow
				html='<table cellspacing="6"><tr><td>'+tipStr[0]+'</td><td>'+tipStr[1]+'</td></tr><tr><td>'+tipStr[2]+'</td><td>'+tipStr[3]+'</td></tr></table>';
				html=html.replace(/%uin%/, uin.toString());
				break;
			case 4: // 城市达人
				html='<table cellspacing="6"><tr><td>'+tipStr[0]+'</td><td>'+tipStr[1]+'</td></tr><tr><td>'+tipStr[4]+'</td><td>'+tipStr[5]+'</td></tr></table>';
				html=html.replace(/%uin%/, uin.toString());
				break;
			default:
				alert("Blog评论用户头像错误");
				break;
		}
		offset.w=105;
		offset.h=0;
	}
	var sT = document.getElementById("sTitle");
	if (!sT){
		sT = document.createElement("div");
		sT.id = "sTitle";
		sT.onmouseover="clearTimeout(portraitTipsTimeout)";//portraitTipsTimeout
		sT.onmouseout="portraitTipsTimeout=setTimeout(hideUserGradeTips,2000)";
		sT.style.cssText = "position:absolute;border:solid 1px black;padding:2px;background-color:#FFC";
		$('mbody').appendChild(sT);
	}
	with(sT){
		style.left = (getPosition(obj).left+offset.w)+"px";
		style.top = (getPosition(obj).top+offset.h)+"px";
		innerHTML = html;
		style.display = "";
	}
}

//除去portrait tips
function hideUserGradeTips(){
	var sT = document.getElementById("sTitle");
	if (!!sT){
		sT.style.display = "none";
	}
}
function showUserCampusTips(ele, replyUin, html){
		showTitle(ele, html, 2);
}
function hideUserTips(){
	window._stTimeout = setTimeout('toHideTitle()',2000);
}
//处理回复列表
function prepareCommentList(o){
	contentProperty.currentCList={};//把当前评论列表独立保存出来
	var l=o.data.replylist;
	var replacew;
	var tmp;
	var _t;
	var isCampus = false;

	$("pageNavigator1").style.display=$("pageNavigator").style.display=(l.length>0?"":"none");
	if(typeof(showElementsAnyReply) == "function") {
		if(l.length > 0) showElementsAnyReply(true);
		else showElementsAnyReply(false);
	}

	clearArray(portraitRequestList);
	clearArray(campusportaritRqList);
	replyUins = [];
	replyCampusUins = [];
	for(var i=0;i<l.length;i++){
		isCampus = (l[i].replyeffect & Math.pow(2,19))?true:false;
		isCampus?replyCampusUins.push(l[i].replyuin):replyUins.push(l[i].replyuin);
		contentProperty.currentCList[l[i].replyid]={
			replyid:l[i].replyid,
			replyuin:l[i].replyuin,
			replyeffect:l[i].replyeffect,
			replyarch:l[i].replyarch,
			replynick:isCampus?l[i].nickname:l[i].replynick,
			replytime:l[i].replytime,
			replycontent:l[i].replycontent,
			capacity:l[i].capacity,
			campusHide:isCampus?"none":""
		};//把当前评论列表独立保存出来
		if(isCampus){
			campusName[l[i].replyuin] = l[i].schoolname;
			campusLink[l[i].replyuin] = l[i].schoolid;
			l[i].replynick = l[i].nickname;
			l[i].campusHide = "none";
		}
		if(!isStar){
			if(parent.g_JData["portraitList"]===undefined)	parent.g_JData["portraitList"]={};
			tmp=parent.g_JData["portraitList"][l[i].replyuin];
			if(!tmp){
				if((l[i].replyeffect&1)==0){
					if(l[i].replyeffect & Math.pow(2,19)){
						campusportaritRqList.push(l[i].replyuin);
						campusName[l[i].replyuin] = l[i].schoolname;
						campusLink[l[i].replyuin] = l[i].schoolid;
					}else{
						portraitRequestList.push(l[i].replyuin);
					}
				}				
				l[i].levelimg='<img src="/ac/b.gif" alt="等级0" title="等级0" class="grading-0" />';
				l[i].u_grade=0;
				l[i].u_scorr=0;
				l[i].u_viplevel = 0;
			}
			l[i].userinfo_icon="/qzone_v4/client/userinfo_icon/5001.gif";
		}
		
		l[i].revert = getRevertContent(l[i]);
		if(l[i].replyeffect & 32){
			if((parent.g_iUin != parent.g_iLoginUin &&  parent.g_iLoginUin != l[i].replyuin) || l[i].capacity < 128){
				l[i].replybutton = 'none';
			}else{
				l[i].replybutton = '';
			}
			l[i].replyclass = '';
		}else{
			if(parent.g_iUin != parent.g_iLoginUin || l[i].capacity < 128){
				l[i].replybutton = 'none';
			}else{
				l[i].replybutton = '';
			}
			l[i].replyclass = 'none';
		}

		l[i].reportbutton = ((l[i].replyuin==parent.g_iUin)?'none':''); //举报按钮

		replacew="face quote"+((isStar && !(l[i].replyuin==parent.g_iUin))?" imageHide":" anchor image email glow_limit font");

		if(isStar){
			var __t = l[i].replycontent.match(/\n/g);
			if(__t && __t.length>=5)
				l[i].replycontent=l[i].replycontent.replace(/\n/g," ");
		}//名博空间不允许他人回复超过指定行数，否则不予分行
		
		//垃圾信息过滤 effect = 1<<24
		l[i].replycontentParsed = (l[i].replyeffect&16777216)?titleEffectMap[16777216].string:ubbReplace(l[i].replycontent.convSP().convCR(),replacew,null,null,IMGCACHE_DOMAIN);
		
		makeReplyEffects(l[i]);

		if(!!l[i].parsed)//若该项处理过则跳过
			continue;

		l[i].replytime=long2time(l[i].replytime);

		l[i].parsed=true;//标识已经处理过了
	}
	contentProperty.currentCList.anchor=o.data.replylist;
}

function isValidUin(uin) {
	uin = parseInt(uin, 10);

	if(!isNaN(uin) && /\d{5,10}/.test(uin)) {
		return true;
	}

	return false;
}

/**
* 获得回合回复内容
*/
function getRevertContent(x){
	var arrRevert = [];
	var aItem,aNick,aTime;
	var getDateTime = function(aTime){
		if(!aTime)return '';
		var d = new Date(aTime*1000);
		return (d.getMonth()+1)+"月"+d.getDate()+"日 "+(d.getHours()<10?" 0":" ")+d.getHours()+":"+(d.getMinutes()<10?"0":"")+d.getMinutes();
	}
	for(var i=0;i<x.responsecontent.length;i++){
		aItem = x.responsecontent[i];
		if(!aItem.uin)aItem.uin = parent.g_iUin;
		aTime = getDateTime(aItem.time);
		
		var strNickHref = (aItem.uin == parent.g_iUin ? '主人' : ("<a href='http://user.qzone.qq.com/"+aItem.uin+"' target='_blank' class='q_namecard unline' link='nameCard_"+aItem.uin+"'>"+aItem.nick+"</a>"));
		if(!isValidUin(aItem.uin)) {
			strNickHref = "<a href='http://xiaoyou.qq.com/index.php?mod=profile&u="+aItem.uin+"' target='_blank' class='unline'>"+aItem.nick+"</a>"
		}

		if(parent.g_iLoginUin == parent.g_iUin){ //主人模式
			aNick = (aItem.uin == parent.g_iLoginUin?'我':strNickHref);
		}else if(aItem.uin == parent.g_iLoginUin){ //客人可回复模式
			aNick = '我';
		}
		else{
			aNick = strNickHref;
		}
		aNick += '的回复： ';
		arrRevert.push('<div class="' + (aItem.uin == parent.g_iUin?'tc':'') + ' spb tbor3"><div class="spt bold">' + aNick + ' <span class="num c_tx3">' + aTime + '</span></div><div>' + ubbReplace(aItem.content.replace(/\n/g,'<br/>'),"face",null,null,parent.parent.imgcacheDomain) + '</div></div>');
	}
	return arrRevert.join('');
}

//处理楼层数
function prepareFloorNum(o){
	var l=o.data.replylist;
	for(var i=0;i<l.length;i++){
		l[i].floornum=PAGE_COMMENT_NUM*contentProperty.currentCommentPage+(i+1);
	}
}

//获取日志正文后的回调函数
function blogContentCallback(o){
	if(!!o.error){
		dalert(o,null,2000,null);
		setTimeout(backToTitleList,2000);
		return;
	}
	
	prepareBlogContent(o);
	prepareCommentList(o);
	preparePageNavigator(o);
	fillCache(o);

	contentProperty.draftid = o.data.draftid;
	$("commentCount3").innerHTML = contentProperty.totalCommentNumber;
	
	if(!!o.data.lp_id && !!o.data.lp_style && parent.simpleMode == 0) { // 先显示日志内容,在显示信纸	    
	    if(!!$("blogSelPaper")) $("blogSelPaper").style.display = "";
	    setTimeout(showLetterPaper, 10, o.data.lp_style, o.data.lp_id);
	}    
	
	parent.hideMsgbox();
	
	prepareFloorNum(o);

	// 提升日志打开速度
	var anchor=$(COMMENT_LIST_TMP+"Anchor");
	anchor.innerHTML = "正在加载评论";
	setTimeout(function() {
		if(o.data.replylist.length>0){
			anchor.innerHTML=listSerialize(COMMENT_LIST_TMP,o.data);
			anchor.style.display="";
		}
		else{
			anchor.innerHTML="";
			anchor.style.display="none";
		}
		
		fixchx();
		/*if(!isStar){
			showPortraits();
		}*/
		
		try{QZONE.namecard.init(anchor);}catch(err){}
	}, 0);

	if(!isInList(o.data.blogid))
		nav.queue.push({"blogid":o.data.blogid,"title":o.data.title});
	
	if(!!parent.g_XDoc["blogRoot"].listCache.initialed && !window.not){
		var t=parent.g_XDoc["blogRoot"].CL.data;
		nav.queue=parent.objectClone(t.titlelist);
		nav.pre={a:t.pre_arch,p:t.pre_pos};
		nav.next={a:t.next_arch,p:t.next_pos};
		nav.cp=fixCurentPos(contentProperty.currentBlogid,nav.queue);
	}

	if((o.data.effect&32)>0){
		if(o.data.effect&(1<<8)){
			$("voteAnchor").innerHTML="投票内容审核未通过";
		}else if(o.data.effect&(1<<22)){
			$("voteAnchor").innerHTML="投票内容正在审核中";
		}else{
			getOneVote((contentProperty.currentVoteid=o.data.voteids),contentProperty.currentBlogid);
		}
	}

	showPageNums();
	getBlogCR(blogContentFetchView);
	
	if(enterBlog)
		parent.g_XDoc["blogRoot"].replyNumUpdateHSmap[contentProperty.currentBlogid]=o.data.replynum;
	if(/^http:\/\/(www\.)?(google|baidu|soso)\.(com|cn)(\.cn)?\//i.test(parent.document.referrer)){
		sendPV(RegExp.$2);
	}else{
		sendPV("readblog");
	}
	sendUPV(o.data.blogid);
		
	try{QZONE.namecard.init($("m_main"));}catch(err){}
	
	if(!!o.data.relationUins && o.data.relationUins.length > 0) {
		getBlogRightSpecUins(o.data.relationUins, changeBlogRightTip);
	}
	
	o.data.blog_property = 0;
}

//检查存在性,当前导航列表里面是否已经存在原始的日志
function isInList(id){
	var l=nav.queue;
	for(var i=0;i<l.length;i++){
		if(l[i].blogid==id)
			return true;
	}
	return false;
}

//拉取所需要的portrait
function showPortraits(cb){
	if(parent.g_JData["portraitList"]===undefined)	parent.g_JData["portraitList"]={};
	if(!cb)	cb=portraitCallBack;
	replyUins = destinctArray(replyUins);
	replyCampusUins = destinctArray(replyCampusUins);
	if(portraitRequestList.length>0){
		parent.loadJsonData("portrait","http://"+parent.g_Main_Domain+"/fcg-bin/cgi_get_portrait.fcg?uins="+destinctArray(portraitRequestList).join(),cb,function(){},true,void(0),"portraitCallBack");
	}else{
		drawUsrPortrait(replyUins,parent.g_JData["portraitList"]);
	}
	if(campusportaritRqList.length>0){
		parent.loadJsonData("portrait","http://"+parent.g_Main_Domain+"/fcg-bin/cgi_get_portrait_campus.fcg?encodeduins="+destinctArray(campusportaritRqList).join(),campusPortraitCallBack,function(){},true,void(0),"portraitCallBack");
	}else{
		drawCampusUsrPortrait(replyCampusUins,parent.g_JData["portraitList"]);
	}
}

function resizeImg(obj, imgID) {
    obj = !!obj ? obj : $(imgID);    
    if(!obj) return;
	var img = new Image;
	img.onload = function(){
		this.onload = null;
		if(this.height>100){
			this.height = 100;
			this.width = this.width*Math.ceil(1000*100/this.height)/1000;
		}if(this.width>100){
			this.width = 100;
			this.height = this.height*Math.ceil(1000*100/this.width)/1000;
		}
		obj.width = this.width;
		obj.height = this.height;
	}
	img.onerror = function(){
		this.onerror = null;
		obj.src = "/qzone_v4/client/userinfo_icon/5001.gif";
	}
	img.src = obj.src;
}

//portrait拉取回调
function portraitCallBack(o){
	var list;
	var tmp;
	var t;
	var sr;
	for(var i in o){
		parent.g_JData["portraitList"][i]=o[i];
	}
	o = parent.g_JData["portraitList"];
	drawUsrPortrait(replyUins,o);
}
function drawUsrPortrait(a, o){
	for (var i = 0; i < a.length; i++) {
		list = $n("img", "userIcon_" + a[i]);
		if (a[i] - 0 != 0) {
			for (var itr = 0; itr < list.length; itr++) {
				sr = ((o[a[i]][0] == "/qzone_v4/client/userinfo_icon/default.gif") ? "/qzone_v4/client/userinfo_icon/5001.gif" : o[a[i]][0]);
				list[itr].id = "userIconID_" + Math.random();
				list[itr].src = ([sr, ((/\?/).test(sr) ? "&" : "?"), "sds=", Math.random()]).join("");
				tmp = list[itr].parentNode.parentNode.previousSibling.firstChild;
				t = getUserGrade(o[a[i]][1]);
				tmp.innerHTML = serializeUserGrade(t);
				tmp.onmouseover = new Function("showUserGradeTips(" + t + "," + o[a[i]][1] + ")");
				tmp.onmouseout = hideUserTips;
			}
			showVipLevel(a[i], o);
		}
		else {
			for (var itr = 0; itr < list.length; itr++) {
				sr = "/qzone_v4/client/userinfo_icon/5001.gif" ;
				list[itr].id = "userIconID_" + Math.random();
				list[itr].src = ([sr, ((/\?/).test(sr) ? "&" : "?"), "sds=", Math.random()]).join("");
			}
		}
	}
}
function drawCampusUsrPortrait(a,o){
	for(var i=0;i<a.length;i++){
		list = $n("img", "userIcon_"+a[i]);
		for(var itr=0;itr<list.length;itr++){
			sr=((o[a[i]][0]=="/qzone_v4/client/userinfo_icon/default.gif")?"/qzone_v4/client/userinfo_icon/5001.gif":o[a[i]][0]);
			list[itr].id = "userIconID_" + Math.random();
			list[itr].src= sr;
			list[itr].link = "";
			list[itr].onmouseover = (function(obj,uin){
				return function(){
					showUserCampusTips(obj,uin,"<a style='text-decoration:underline;color:blue' href='http://xiaoyou.qq.com/index.php?mod=profile&u="+uin+"' target='_blank'>访问其QQ校友个人主页</a>")
				}
			})(list[itr],a[i]);
			list[itr].onmouseout = hideUserTips;
			list[itr].parentNode.href = "http://xiaoyou.qq.com/index.php?mod=profile&u="+a[i];
			tmp=list[itr].parentNode.parentNode.previousSibling.firstChild;
			if(campusName[a[i]].trim()==""){
				tmp.innerHTML="<a href='http://xiaoyou.qq.com' target='_blank'>来自：QQ校友</a>"//"来自："+campusName[a[i]].substring(0,8);
			}else{
				tmp.innerHTML="<a href='http://xiaoyou.qq.com/index.php?mod=school&act=schoolportal&school_id="+campusLink[a[i]]+"' target='_blank'>来自："+campusName[a[i]].substring(0,8)+"</a>"//"来自："+campusName[a[i]].substring(0,8);
				tmp.onmouseover = (function(obj,uin){
					return function(){
						showUserCampusTips(obj,uin,"<a style='text-decoration:underline;color:blue' href='http://xiaoyou.qq.com/index.php?mod=school&act=schoolportal&school_id="+campusLink[uin]+"' target='_blank'>"+campusName[uin]+"</a>")
					}
				})(tmp,a[i]);
				tmp.onmouseout = hideUserTips;
			}
		}
		showVipLevel(a[i],o);
	}
}
function showVipLevel(uin,o){
	list = $n("span", "VipLevel" + uin);
	for(var itr=0; itr<list.length; ++itr) {
		if(o[uin][3] > 0) {
			if(list[itr].childNodes.length == 0)
				continue;

			list[itr].childNodes[0].innerHTML = o[uin][3];
			if(o[uin][5] == 1) // 非过期黄钻用户
				list[itr].style.display = "";
		}
		else {
			if(!!list[itr].nextSibling)
				list[itr].nextSibling.style.overflow = "visible";
		}
	}
}
function campusPortraitCallBack(o){
	var list;
	var tmp;
	var t;
	var sr;
	for(var i in o){
		parent.g_JData["portraitList"][i]=o[i];
	}
	o = parent.g_JData["portraitList"];
	drawCampusUsrPortrait(replyCampusUins,o);
}
//显示评论特效
function makeReplyEffects(obj){
	var efl=effectSplit(obj.replyeffect);
	var tmp;
	
	if(!(obj.replyeffect & Math.pow(2,19))){
		obj.effectNick_ = '<a target="_blank" href="http://user.qzone.qq.com/'+obj.replyuin+'" class="guestname q_namecard" style="text-overflow:ellipsis;overflow-x:hidden;white-space:nowrap;' + (!!obj.u_viplevel ? '' : 'overflow:visible;') + '" link="nameCard_'+obj.replyuin+'">'+obj.replynick+'</a>';//增加了名片锚点
	}else{
		var html = "<a style='text-decoration:underline;color:blue' href='http://xiaoyou.qq.com/index.php?mod=profile&u="+obj.replyuin+"' target='_blank'>访问其QQ校友个人主页</a>";
		obj.effectNick_ = '<a target="_blank" href="http://xiaoyou.qq.com/index.php?mod=profile&u='+obj.replyuin+'" class="guestname" style="text-overflow:ellipsis;overflow-x:hidden;white-space:nowrap;' + (!!obj.u_viplevel ? '' : 'overflow:visible;') + '">'+obj.replynick+'</a>';
	}
	obj.mirror_ = '';	// 使用照妖镜后不显示按键

	for(var i=0;i<efl.length;i++){
		switch(parseInt(efl[i],10)){
			case 1:
				obj.effectNick_='<span title="此用户使用隐身草,只有您使用照妖镜后,才可以点击这里进入其空间">匿名</span>';
				obj.mirror_ = '<a title="您要拥有照妖镜道具才可以使用照妖镜，照妖镜道具请在藏宝阁兑换" href="javascript:;" onclick="mirrorIt('+obj.replyid+','+obj.replyarch+');return false;" class="c_tx ownermode"><img src="http://' + imgcacheDomain + '/ac/b.gif" alt="使用照妖镜" class="icon_mirror" />照妖镜</a><span class="ownermode">  </span>';
				break;
			case 2:
				if(!contentProperty.chxList)
					contentProperty.chxList=[];
				contentProperty.chxList.push({"id":obj.replyid,"content":obj.effectNick_,"vipIcon":""});				
				break;
			case 4:
				obj.angel_='<img title="天使之爱" src="/qzone/client/tsza.gif" />';
				break;
			case 8:
				obj.replycontentParsed='<div style="text-align:center;font-color:#EE1D24">评论内容已被管理员屏蔽</div>';
				obj.canquote=" none";
				break;
			case 16:
				obj.effectNick_='<span title="此用户使用匿名评论">'+obj.replynick+'</span>';
				break;
			case 1024:
				obj.replycontentParsed+='<br /><br />-----------------------------------<br />本留言来自<a style="color:blue" target="_blank" href="http://3gqq.qq.com/qzone/?fr=qzreply"><span class="hl">手机Qzone</span></a>';
				break;
			case 32768:
				obj.replycontentParsed+='<br /><br />-----------------------------------<br />该评论来自 <b>移动Qzone</b> 。<b>移动Qzone</b>，随时随地用手机看日志评论，轻松回复！<br /> <a style="color:blue" target="_blank" href="http://m-qzone.qq.com/?from=qzoneJD"><span class="mode_title">详情请进&gt;&gt;</span></a>';
				break;
		}		
	}	
}

function showCampusPortraitTips(ele, replyUin){
	var html = "<a style='text-decoration:underline;color:blue' href='http://xiaoyou.qq.com/index.php?mod=profile&u=" + replyUin + "' target='_blank'>点击查看ta在ＱＱ校友的资料</a>";
	showTitle(ele, html, 2);
}
function hideUserPortraitTips(){
	window._stTimeout = setTimeout('toHideTitle()',2000);
}
var showTitle = function(obj,html,type){
	var sT = document.getElementById("sTitle");
	if (!sT)	{
		sT = document.createElement("div");
		sT.id = "sTitle";
		sT.style.cssText = "position:absolute;border:1px solid #000;padding:2px;background:#FFFFCC;font-size:12px";
		document.body.appendChild(sT);
	}
	sT.style.display = "";
	sT.style.left = type==1?(getPosition(obj).left+20):(getPosition(obj).left+getPosition(obj).width+10);
	sT.style.top = type==1?getPosition(obj).top:getPosition(obj).top;
	sT.innerHTML = html;
	clearTimeout(window._stTimeout);
}

var hideTitle = function(){
	var sT = document.getElementById("sTitle");
	sT.style.display = "none";

}

var toHideTitle = function(){
	hideTitle();
}

function getPosition(obj) {
	var top=0;
	var left=0;
	var width=obj.offsetWidth;
	var height=obj.offsetHeight;
	while (obj.offsetParent) {
			top += obj.offsetTop;
			left += obj.offsetLeft;
			obj = obj.offsetParent;
		}
	return {"top":top,"left":left,"width":width,"height":height};
}

//使用照妖镜
function mirrorIt(id,a){
	parent.loadJsonData("mirror","http://"+BLOG_DOMAIN+CGI_PATH+"blog_recover_nickname?uin="+parent.g_iUin+"&blogid="+contentProperty.currentBlogid+"&archive="+a+"&replyid="+id+"&sds="+Math.random(),mirrorSucc,serrCallback,true,void(0),"_Callback");
}

var testda = {"data":{
"uin":24919075,
"blogid":1218451818,
"replyid":4,
"comment_uin":900000335,
"comment_nick":"&lt;&gt;&lt;&gt;&lt;&gt;我的空"
}};

//照妖镜成功返回
function mirrorSucc(o){
	if(!!o.error){
		dalert(null,o.error.msg);
		return;
	}
	var isCampus = false;
	var t=$("effectNick_"+o.data.replyid);
	var n=$("mirror_"+o.data.replyid);
	t.innerHTML = '<a target="_blank" class="guestname" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" href="http://user.qzone.qq.com/'+o.data.comment_uin+'/">'+o.data.comment_nick+'</a>';
	n.innerHTML = '';
//	t.parentNode.nextSibling.nextSibling.childNodes[0].childNodes[0].setAttribute("name", "userIcon_"+o.data.comment_uin);
	var list=parent.g_XDoc["blogRoot"].contentHSList[o.data.blogid].replylist;
	for(var i=0;i<list.length;i++){
		if(list[i].replyid==o.data.replyid){
			list[i].replyeffect&=(~1);
			list[i].replyuin=o.data.comment_uin;
			list[i].replynick=o.data.comment_nick;
			isCampus = (list[i].replyeffect & Math.pow(2,19))?true:false;
			break;
		}
	}
	
	replyUins.push(o.data.comment_uin);
	if(o.data.comment_uin == parent.g_iUin && !!$("btnReport" + o.data.replyid)) { // 隐藏举报按键
		$("btnReport" + o.data.replyid).style.display = "none";
		if(!!$("btnReport" + o.data.replyid).previousSibling) $("btnReport" + o.data.replyid).previousSibling.innerText = "";
	}
	
	alert("该评论者是 "+o.data.comment_nick.toRealStr()+" ("+o.data.comment_uin+") ，该评论的发表者昵称将显示为 "+o.data.comment_nick.toRealStr());
	if(isCampus){
		campusportaritRqList.push(o.data.comment_uin);
	}else{
		portraitRequestList.push(o.data.comment_uin);
	}
	if(!isStar){
		showPortraits();
	}

	// 更新缓存
	var ro = contentProperty.currentCList[o.data.replyid];
	ro.replyeffect = ro.replyeffect & ~(1<<0);
	ro.replynick = o.data.comment_nick;
}

//取日志评论和读取数目
function blogContentFetchView(o){
	if(!!o.error)
		return;
	var rcPool=parent.g_XDoc["blogCommentCount"];
	var ac;
	for(var i=0;i<o.data.itemlist.length;i++){
		if(rcPool[o.data.itemlist[i].id]===undefined)
			rcPool[o.data.itemlist[i].id]={};
		
		rcPool[o.data.itemlist[i].id].read = (rcPool[o.data.itemlist[i].id].reply > o.data.itemlist[i].read) ? rcPool[o.data.itemlist[i].id].reply : o.data.itemlist[i].read;
		ac=$("viewCount3");
		if(!!ac)
			ac.innerHTML=rcPool[o.data.itemlist[i].id].read;
	}
}

//添加内容特效
function contentEffects(obj){
	var o=parent.objectClone(obj,"replylist");
	var efl=effectSplit(o.data.effect);
	var tmpTitle = o.data.title;
	
	o.data.titleEffect = "特效：";
	o.data.srcStyle = "display:none;";
	o.data.srcHref = "";
	o.data.blogright = 1;
	o.data.blogRightStyle = (parent.g_iLoginUin==parent.g_iUin ? "" : "display:none");
	o.data.blogRightText = o.data.blogRightTip = "公开";
	
	var passed = true;
	for(var i=efl.length-1;i>=0;i--){
		switch(parseInt(efl[i],10)){
			case 2:
				strTitleEffect = o.data.title = '<span style="color:#FFF;height:16px !important;vertical-align:middle;filter:progid:DXImageTransform.Microsoft.Glow(color=#FF6600,strength=3);">'+o.data.title+"</span>";
				break;
			case 8:
				o.data.title="[转]"+o.data.title;
				setTimeout(function(){
					parent.loadJsonData("quoteInfo","http://"+BLOG_DOMAIN+CGI_PATH+"blog_get_userinfo?uin="+o.data.orguin,quoteInfoCallback,serrCallback,true,void(0),"_Callback");
				},50);
				break;
			case 2097152:
				o.data.title="[荐]"+o.data.title;
				if (!isStar)
					o.data.contentParsed = '<span class="mode_title">本文已被推荐到Qzone社区, <a href="http://qzone.qq.com" target="_blank" style="color:blue" onclick="sendPV(\'BlogRecommendMore\');">点击了解更多精彩内容</a></span><br/><br/>' + o.data.contentParsed;
				break;
			case 16:
				o.data.title="[顶]"+o.data.title;
				window.isTop=true;
				break;
			case 1:
				o.data.title += "<img src='/ac/b.gif' alt='附带图片' class='icon_pic' />";
				break;
			case 4096:
				o.data.title += "<img src='/ac/b.gif' alt='附带flash' class='icon_flash' />";
				break;
			case 8192:
				o.data.title += "<img src='/ac/b.gif' alt='附带视频' class='icon_video' />";
				break;
			case 16384:
				o.data.title += "<img src='/ac/b.gif' alt='附带音频' class='icon_music' />";
				break;
			case (1<< 23):
				o.data.title += "<img src='/ac/b.gif' alt='附带信纸' class='icon_letter' />";
				break;
			case (1<<25):
				o.data.title += "<img src='/ac/b.gif' alt='附带动感影集' class='icon_vphoto' />";;
				break;
			case (1<<26):
				o.data.title += "<img src='/ac/b.gif' alt='附带QQ秀泡泡' class='icon_qqshow_tip' />";;
				o.data.contentParsed+='<br /><br />-----------------------------------<br /><a href="http://show.qq.com/show.html?MUrl=/live/paopao/index.html" target="_blank" onclick="sendPV(\'paopaolink\', \'rizhi.qzone.qq.com\');"><span class="mode_title">本篇日志使用了QQ秀泡泡。在日志中添加QQ秀泡泡来写一篇有趣的日志吧！查看详情&gt;&gt;</span></a>';
				break;
			case 1024:
				o.data.contentParsed+='<br /><br />-----------------------------------<br /><a href="http://3gqq.qq.com/qzone/?fr=qzdairy" target="_blank"><span class="mode_title">此日志来自手机Qzone！手机访问z.qq.com,随时随地记录我心情！本服务完全免费，详情请进&gt;&gt;</span></a>';
				break;
			case (1<<8):
				passed = false;
				if(parent.g_iLoginUin==parent.g_iUin){
					o.data.title+='&nbsp;[审核未通过]';
				}
				else{
					o.data.title='[此文章内容审核未通过]';
				}

				break;//C17 end
			case (1<<22)://C17 begin
				if(passed){
					if(parent.g_iLoginUin==parent.g_iUin){
						o.data.title+='&nbsp;[审核中]';
					}else{
						o.data.title='[此文章内容正在审核中]';
					}
				}
				break;
			case 2048:
				o.data.contentParsed+='<br /><br /><a target="_blank" href="http://video.qq.com/v1/upload">该日志为用户上传的视频日志，进入QQ播客你就可以拥有自己的视频日志&gt;&gt;</a>';
				break;
			case 128:
				o.data.contentParsed+='<br /><br />-----------------------------------<br />已从我的 <b>移动Qzone</b> 发表彩信日志。用手机以彩信方式发送照片到10661700222，就发表图文并茂的彩信日志！<br /><a style="color:blue" target="_blank" href="http://m-qzone.qq.com/?from=qzoneJD"><span class="mode_title">详情请进&gt;&gt;</span></a>';
				break;
			case 32768:
				o.data.contentParsed+='<br /><br />-----------------------------------<br />已从我的 <b>移动Qzone</b> 发表短信日志。<b>移动Qzone</b>，随时随地用手机发短信写日志！<br /><a style="color:blue" target="_blank" href="http://m-qzone.qq.com/?from=qzoneJD"><span class="mode_title">详情请进&gt;&gt;</span></a>';
				break;
			case 524288:
				o.data.contentParsed+='<br /><br />'+ubbReplace('[ffg,#00CC00,#FFFFFF]<a target="_blank" href="http://xiaoyou.qq.com">此日志来自QQ校友社区  xiaoyou.qq.com &gt;&gt;</a>[/ft]','all');
				break;
			case (1 << 29):
				o.data.blogRightStyle = "";
				o.data.specuins = "";
				if(parent.g_iLoginUin==parent.g_iUin) {
					if(o.data.friendrelation.length == 1 && o.data.friendrelation[0].cateid == 1) {
						o.data.blogRightText = o.data.blogRightTip = "全部QQ好友可见";
						o.data.blogright = 2;
					}
					else {
						o.data.blogRightTip	= "";
						o.data.blogRightText = "指定好友可见";
						obj.data.relationUins = new parent.Array();
						for(var index=0; index<o.data.friendrelation.length; ++index) {
							o.data.blogRightTip += o.data.friendrelation[index].groupid + ",";
							o.data.specuins += o.data.friendrelation[index].groupid + "|";
							obj.data.relationUins.push(o.data.friendrelation[index].groupid);
						}
						o.data.blogRightTip = o.data.blogRightTip.substr(0, o.data.blogRightTip.length-1);
						o.data.blogright = 3;
					}
				}
				else {
					o.data.blogRightText = "好友可见";
					o.data.blogRightTip	= "该日志设置了权限，您有权查看";
				}
				break;
		}
		
		var tmp = titleEffectMap[efl[i]];
		if(!!tmp){
			var _t=tmp.string.split("|");
			if(tmp.type == 0) {				
				if(!!_t[2] && !!_t[3]) {
					o.data.srcStyle = "";
					o.data.srcText = _t[2];
					o.data.srcHref = _t[3];
					o.data.srcTip = _t[1];
				}
			}
		}
	}
	
	if(o.data.titleEffect.length == 3) o.data.titleEffect = "";
	
	if(!!obj.data.lp_id && !!obj.data.lp_style) { // 信纸日志取消title特效
	    o.data.title = tmpTitle;
	}
	
	// tags处理
	if(o.data.tag && o.data.tag.getRealLength() > 0) {
		o.data.tagStyle = "";
		var arr = o.data.tag.split("|");
		o.data.formatTag = "";
		for(var index = 0; index<arr.length; ++index) {
			o.data.formatTag += '<a href="javascript:" onclick="searchTag(\''+arr[index].toInnerHTML()+'\');return false;" class="uline" title="看看其它“'+arr[index]+'”相关日志">'+arr[index]+'</a>&nbsp;&nbsp;';
		}
	}
	else {
		o.data.tagStyle = "none";
	}
	
	return o;
}

//显示各种特效
function showEffects(o){
	var efl=effectSplit(o.data.effect);
	var tmp_s=$("btnSetTop");
	var tmp_q=$("btnQuoteOneBlog");	

	tmp_q.style.display = "";
	hideSign(null, "隐藏签名档");
	for(var i=efl.length-1;i>=0;i--){
		switch(parseInt(efl[i],10)){
			case 64:
				tmp_q.style.display="none";
				break;
			case 512:
				$("verySign").style.display="";
				hideSign(null, "显示签名档");
				break;
			case 16:
				tmp_s.innerHTML="取消置顶";
				break;
			case (1<<22)://C17 begin
				tmp_q.style.display="none";
				break;
			case (1<<8):
				tmp_q.style.display="none";
				break;//C17 end
		}
	}
	if((o.data.effect&64)==0 && (o.data.effect&32)==0 && (o.data.effect&(1<<8))==0 && (o.data.effect&(1<<22))==0 && parent.g_iLoginUin!=parent.g_iUin){//C17 change
		tmp_q.style.display="";
	}
	if((o.data.effect&16)==0){
		window.isTop=false;
		tmp_s.innerHTML="设置置顶";
	}
	
	try{if(!!contentProperty.currentVoteid) tmp_q.style.display = "none";} catch(err){}

	if((o.data.effect&128) > 0) o.data.category = "彩信日志";
	else if((o.data.effect&32768) > 0) o.data.category = "短信日志";

	var listCache = parent.g_XDoc["blogRoot"].listCache;
	if(!!listCache && listCache.currentCategory != "\x02") {
		$("titleHref").style.visibility = "visible";	
		$("categoryName").innerHTML = o.data.category;
		$("categoryName").onclick = function(){
			parent.g_XDoc["blogRoot"].jumpCategory=o.data.category.toRealStr();
			location.href= 'http://user.qzone.qq.com/' + parent.g_iUin + '/blog';
		};
	}
		
	if(isStar){
		hideSign(null,"隐藏签名档",true);
	}
}

//转载日志信息回调
function quoteInfoCallback(o){
	if(!!o.error){
		dalert(o);
		return;
	}
	var t=$("quoteinfo");
	if(o.data.uin == 177988688) { // 转载手机Qzone新闻时候特殊处理
		t.innerHTML="本文由&nbsp;&nbsp;&nbsp;<span style=\"font-weight:bold\">手机腾讯网资讯编辑</span>&nbsp;&nbsp;&nbsp;发表在：&nbsp;<a href='http://3gqq.qq.com/portal/?fr=qzcopied' target='_blank' style='text-decoration:underline;font-weight:bold'>手机腾讯资讯频道</a>";
	}
	else {
		t.innerHTML="本文由&nbsp;&nbsp;&nbsp;<span style=\"font-weight:bold\">"+o.data.nick+"</span>&nbsp;&nbsp;&nbsp;发表在：&nbsp;<a href=\"http://user.qzone.qq.com/"+o.data.uin+"\" target=\"_blank\">"+o.data.spacename+"</a>";
	}
}

/**
 * 日志回复的回复接口
 */ 
 function showReplyEditor(idx){
	//判断是否有加载回复机制
	if(!window.SelfReply){
		parent.includeJS('/qzone/admin/js/selfreply.js'
			,function(){
				doShowReplyEditor(idx);
			}
		,document);
	}else{
		doShowReplyEditor(idx);
	}
}

function doShowReplyEditor(idx){
	if(!window.SelfReply){
			setTimeout('doShowReplyEditor(' + idx + ')',100);
		}else{
			if(!SelfReply.initialized || !$('divReplyEditor') || !$('chkMsg')){
				SelfReply.version = 4;
				SelfReply.initialize();
			}
			if(SelfReply.coreParam ==  idx){
				SelfReply.hideEditor(false);
				//document.getElementById('replyEditor').focus();
				return;
			}
			SelfReply.resetTarget(SRT_BLOG
				,document.getElementById('masterComment' + idx)
				,document.getElementById('mcEditor' + idx)
				,idx);
			$("privateMsg").style.display = "none";
		}
}

/**
 * 举报评论
 */
function reportReply(replyuin,replyid,replyarch){
	var appname = "qzone";
	var subapp = "blogcomment";
	var jubaotype = "article";
	var encoding = "GB2312";
	var url = 'http://jubao.qq.com/cgi-bin/jubao?appname=' + appname + "&subapp=" + subapp + "&jubaotype=" + jubaotype + (encoding ? ("&encoding="+encoding) : "") +
		"&uin=" + parent.g_iUin + "&replyuin=" + replyuin + "&blogid=" + contentProperty.currentBlogid + "&commentid=" + replyid + "&blogtype=" + (isStar ? 1 : 0);

	showReport(url);
}

function showReport(url) {
	var width = 633;
	var height = 483;

	var oDiv = parent.$("jubao_div");
	if(!oDiv) {
		oDiv = QZONE.dom.createElementIn("div", parent.document.body, false, {"id":"jubao_div", "style":"position:absolute; display:none; width:"+width+"px; height:"+height+"px; z-index: 999; padding:0; margin:0px;"});
	}

	parent.jubao_onResize = function(width, height) {
		login_wnd = $("jubao_div");
		if(!login_wnd) {
			return;
		}
		login_wnd.style.width = width + "px";
		login_wnd.style.height = height + "px";

		login_wnd.style.visibility = "hidden";
		login_wnd.style.visibility = "visible";
	};

	parent.jubao_onClose = function() {
		login_wnd = parent.$("jubao_div");	
		if(!login_wnd) {
			return;
		}
		login_wnd.style.display = "none";
		login_wnd.innerHTML = "";

		if(parent.reportMaskID) {
			QZONE.maskLayout.remove(parent.reportMaskID);
		}
		parent.reportMaskID = 0;
	};

	var _l = (parent.QZONE.dom.getClientWidth() - width) / 2 + parent.QZONE.dom.getScrollLeft();
	var _t = Math.max((parent.QZONE.dom.getClientHeight() - height) / 2 + parent.QZONE.dom.getScrollTop(), 0);
	oDiv.style.left = _l + "px";
	oDiv.style.top = _t + "px";

	parent.reportMaskID = QZFL.maskLayout.create(100, parent.document);

	oDiv.innerHTML = '<iframe name="jubao_frame" id="jubao_frame" frameborder="0" scrolling="no" width="100%" height="100%" src="'+url+'"></iframe>';
	oDiv.style.display = "";
}

/**
 *进行投票
 */
function vote(){
	var optionStr="X";
	var t=_$("voteOption");
	for(var i=0;i<t.length;i++)
		optionStr+=(t[i].checked)?1:0;

	if(!/1/.test(optionStr)){
		alert("请至少选择一个选项");
		return;
	}

	var url="http://"+BLOG_DOMAIN+CGI_PATH+"blog_do_vote";
	var data="uin="+parent.g_iUin+"&voteid="+contentProperty.currentVoteid+"&optionid="+optionStr;

	parent.loadXMLAsyncNoCache("voteIt",url,voteSucc,voteError,data);
}

/**
 *投票回调
 */
function voteSucc(){
	if(!!selectXMLNode(parent.g_XDoc["voteIt"], "/error")){
		voteError();
		return;
	}
	dalert(null,"投票成功",1000,2);
	delete parent.g_XDoc["voteIt"];

	if(!!parent.g_XDoc["blogRoot"].voteHSList[contentProperty.currentVoteid])
		delete parent.g_XDoc["blogRoot"].voteHSList[contentProperty.currentVoteid];

	getOneVote(contentProperty.currentVoteid,contentProperty.currentBlogid);	
}

/**
 *投票错误回调
 */
function voteError(){
	var x=parent.g_XDoc["voteIt"];
	var type=selectXMLNode(x,"/error").getAttribute("type");
	if(type == "login") {
		parent.showLoginBox("blogComment",isStar,"投票前请先登录");
	}
	else {
		dalert(null, getXMLNodeText(selectXMLNode(parent.g_XDoc["voteIt"], "/error")), 2500);
	}

	delete parent.g_XDoc["voteIt"];
}

/**
 *判断并表现投票内容
 *@param {object} 日志单偏信息jsobj
 */
function getOneVote(vid,bid,cb){
	if(vid>0){
		if(!cb)
			cb=showVoteCallback;
		var d=$("btnQuoteOneBlog");
		if(!!d)
			d.style.display="none";//投票不可转载

		if(!!parent.g_XDoc["blogRoot"].voteHSList[vid]){
			cb({data:parent.g_XDoc["blogRoot"].voteHSList[vid]});
			return;
		}
		parent.loadJsonData("showVote","http://"+BLOG_DOMAIN+CGI_PATH+"blog_get_vote?uin="+parent.g_iUin+"&blogid="+bid+"&voteid="+vid+"&r="+Math.random(),cb,serrCallback,true,void(0),"_Callback");
	}
}

/**
 *表现投票内容
 *@param {object} 单篇投票信息jsobj
 */
function showVoteCallback(o){
	if(!!o.error){
		dalert(o);
		return;
	}
	prepareVoteData(o);
	parent.g_XDoc["blogRoot"].voteHSList[contentProperty.currentVoteid]=o.data;
	$("voteAnchor").innerHTML=listSerialize("voteList",o);
	var t=$("voteExpireTime");
	t.style.display="";
	t.innerHTML="投票过期时间："+o.data.effective;
	sendPV("showvote");//pvsender
}

/**
 *整理投票数据
 *@param {object} 单篇投票信息
 */
function prepareVoteData(o){
	if(!!o.data.parsed)
		return;
	//投票时间有不同的处理
	o.data.effective=o.data.effective.replace(/^(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})$/,function(x,a,b,c,d,e,f){return ([a,"年",parseInt(b,10),"月",parseInt(c,10),"日"," ",parseInt(d,10),"时",parseInt(e,10),"分",parseInt(f,10),"秒"]).join("");});

	//可否多选，ian需要修正
	o.data.type=(o.data.type==1);

	//计算总量
	var total=0;
	for(var i=0;i<o.data.optionlist.length;i++)
		total+=o.data.optionlist[i].count;

	o.data.totalCount=total;
	for(var i=0;i<o.data.optionlist.length;i++){
		o.data.optionlist[i].icon=i%4+1;
		if(total==0){
			o.data.optionlist[i].percentStr="0%";
			o.data.optionlist[i].barWidth="2px";
		}
		else{
			o.data.optionlist[i].percentStr=Math.round(o.data.optionlist[i].count*100/total)+"%";
			o.data.optionlist[i].barWidth=Math.round(o.data.optionlist[i].count*200/total)+"px";
		}
		o.data.optionlist[i].optionType=o.data.type?"checkbox":"radio";
		o.data.optionlist[i].title=o.data.optionlist[i].title.replace(/^\n/,"");
	}

	o.data.parsed=true;
}

function addQuoteString(templete) {
	return '<blockquote style="width:400px;border:dashed 1px gray;margin:10px;padding:10px">'+templete+'</blockquote>';	
}

/**
 *引用一条评论道编辑器
 *@param {Number} id 评论ID
 */
function quoteReply(id){
	var ro=contentProperty.currentCList[id];
	
	if(!!window.sendCommentEditor){
		sendCommentEditor.editorArea.focus();
		var templete='引自：<cite>'+(((ro.replyeffect&1)>0)?'匿名':ro.replynick)+'</cite>&nbsp;&nbsp;于 <ins>'+((typeof ro.replytime=="number")?long2time(ro.replytime):ro.replytime)+'</ins> 发表的评论<br />引用内容：<br /><br /><q>'+_quote(((sendCommentEditor.editorArea.editMode == 0)?ro.replycontent.convSP().convCR():ro.replycontent))+'</q>';
		if (sendCommentEditor.editorArea.editMode == 0){
			templete = addQuoteString(templete);					
			sendCommentEditor.editorArea.fillUBB(templete.HTMLToUBB(templete).toRealStr());
   		}
   		else {
   			var oDocument = sendCommentEditor.editorArea.Document;
   			if(!!oDocument) {
   				var oList = oDocument.body.getElementsByTagName("blockquote");
   				if(!!oList) { 
   					if(oList.length <= 0) {
			  			templete = addQuoteString(templete);   	
   						sendCommentEditor.editorArea.fillHTML(templete, null, null, true);
   						oList = oDocument.body.getElementsByTagName("blockquote");
   					}
   					else {
   						oList[0].innerHTML = templete;  // 替代评论内容已有的引用内容
   					}
   				}
   				
   				// 处理视图滚动和鼠标位置
   				if(!!oList && oList.length > 0) {   					
					var pos = parent.getPosition(oList[0]); 
   					var rng = oDocument.selection.createRange();
					rng.moveToPoint(pos.left+pos.width, pos.top);
					rng.select();
   				}
   			}
   			else {
   				templete = addQuoteString(templete);
   				sendCommentEditor.editorArea.fillHTML(templete, null, null, false);
   			}			
   		}	
	}
	else{
		contentProperty.editorCallbackToDoList.push(function(){quoteReply(id)});
		getUBBeditor();
	}
}

function _quote(s){
	s=s.replace(/\[quote\=引自：(.+?)(?:\x20|&nbsp;){1,2}于\x20(.+?)\x20发表的评论\]/g,"\x03引自：<cite>$1</cite>&nbsp;&nbsp;于 <ins>$2</ins> 发表的评论<br />\x02").replace(/\[\/quote\]/g,"\x01");
	for(var i=0;i<2;i++)
		s=s.replace(/\x03([^\x03\x01\x02]*?)\x02([^\x03\x01\x02]*?)\x01/g, function(a,b,c){
			return '<blockquote style="width:400px;border:dashed 1px gray;margin:10px;padding:10px">'+b+'引用内容：<br /><br /><q>'+c+'</q></blockquote>';
		});
	return s.replace(/[\x03\x02\x01]/g,"");
}

/**
 *删除日志评论
 *@param {Number} n 评论ID
 *@param {Number} a 评论档期
 */
function delReply(replyuin, n, a){
	if(!confirm("删除操作不可恢复,您确认要继续么?"))
		return;

	parent.loadXMLAsyncNoCache(
		"delReply",
		"http://"+BLOG_DOMAIN+CGI_PATH+"blog_del_comment",
		function(){
			if(!!selectXMLNode(parent.g_XDoc["delReply"], "/error")){
				dalert(null, getXMLNodeText(selectXMLNode(parent.g_XDoc["delReply"], "/error")), 2000);
			}
			else{
				dalert(null, getXMLNodeText(selectXMLNode(parent.g_XDoc["delReply"], "/succ")), 2000);
				contentProperty.totalCommentNumber--;
				//清理cache
				with(contentProperty){
					delete parent.g_XDoc["blogRoot"].contentHSList[currentBlogid];
					pageList={};
					pageIndexMap=[];
					currentCommentPage=lastCommentPage=(!contentProperty.nowaPage)?0:nowaPage[3];
					parent.g_XDoc["blogRoot"].replyNumUpdateHSmap[currentBlogid]=totalCommentNumber;
					parent.isRefreshTop=true;
					if(currentCommentPage==0)
						setTimeout(contentInit,1000,currentBlogid);
					else{	
						var tp=Math.ceil(totalCommentNumber/PAGE_COMMENT_NUM);
						var num=totalCommentNumber%PAGE_COMMENT_NUM;
						if(num==0 || currentCommentPage<tp-1)
							num=PAGE_COMMENT_NUM;
						getOnePageComment(num,nowaPage[0],nowaPage[1],nowaPage[2],blogCommentListCallback,1);
						$("commentCount3").innerHTML=totalCommentNumber;
					}
				}
			}
			delete parent.g_XDoc["delReply"];
		},
		function(){
			dalert(null,BUSY_MSG,1500);
			delete parent.g_XDoc["delReply"];
		},
		"uin="+parent.g_iUin+"&blogid="+contentProperty.currentBlogid+"&replyid="+n+"&archive="+a+"&replyuin="+replyuin
	);
}

//拉取评论列表回调
function blogCommentListCallback(o){
	parent.hideMsgbox();
	
	if(!!o.error){
		dalert(o);
		return;
	}
	if(o.data.replylist.length==0 && o.data.pre_pos!=-2){ // strange logic
		//setTimeout(function(a,b,c,d,e,f){getOnePageComment(a,b,c,d,e,f);},50,PAGE_COMMENT_NUM,o.data.pre_arch,o.data.pre_pos,0,blogCommentListCallback,1);
		parent.showMsgbox("服务器繁忙，请稍候重试", 1, 2000);
		return;
	}
	prepareCommentList(o);
	preparePageNavigator(o);
	fillCache(o);
	prepareFloorNum(o);
	
	var anchor=$(COMMENT_LIST_TMP+"Anchor");
	if(o.data.replylist.length>0){		
		anchor.innerHTML=listSerialize(COMMENT_LIST_TMP,o.data);
		anchor.style.display="";
		if(isStar && !!$("batchDelComHref") && $("batchDelComHref").style.display == "none") {
			showCommentCheckBoxs(true, $("batchSelAllInput").checked);
		}
	}
	else{
		anchor.innerHTML="";
		anchor.style.display="none";
	}

	if(!isStar){
		showPortraits();
	}

	showPageNums();
	if(window.SelfReply)SelfReply.initialize();
	fixchx();
	try{QZONE.namecard.init(anchor);}catch(err){}
	
	setTimeout(function(){location.hash = "#pageNavigator";}, 0);
}

//修正彩虹旋显示
function fixchx(){
	if(!contentProperty.chxList)
		return;
	var t;
	var m;
	var list=contentProperty.chxList;
	for(var i=0;i<list.length;i++){
		t=$("effectNick_"+list[i].id);
		m=t.parentNode.parentNode.currentStyle.backgroundColor;
		t.innerHTML='<table cellspacing="0" style="'+((parent.simpleMode||isStar)?'':'float:left;')+'display:inline !important;background-image: url(/qzone/client/color_rainbow.gif);margin-top:3px"><tr><td style="filter:progid:DXImageTransform.Microsoft.MaskFilter(Color='+m+');font-weight:bold;">'+list[i].content+'</td></tr></table>' + list[i].vipIcon;		
	}
	delete contentProperty.chxList;
}

//日志内容页面开始初始化
function contentInit(){
	var id = parseInt(window.currentBlogId); //兼容名博静态页面	

	//判断是否需要重新建立全局blog cache
	if(!parent.g_XDoc["blogRoot"])
		parent.g_XDoc["blogRoot"]=new BlogTopCache();
	
	//置当前评论页数
	var n=0;
	if(!!contentProperty.nowaPage)
		n=contentProperty.nowaPage[3];
	contentProperty.currentCommentPage=contentProperty.lastCommentPage=n;
	contentProperty.currentBlogid=id;
	window.currentBlogId = id;
	contentProperty.pageList = null;

	//初始化主人回复(如果需要的话)
	if(window.SelfReply)SelfReply.initialize();
	
	if(!!$("viewMoreReader")) {
		$("viewMoreReader").style.display = "none";
		$("viewMoreReader").innerHTML = '<a href="javascript:;" onclick="toggleRecentReader(this, true);return false;" class="show">查看最近<strong id="recentReaderCnt"></strong>位访客<img src="/ac/b.gif" class="icon_spread" alt="展开" /></a><a href="javascript:;" onclick="toggleRecentReader(this, false);return false;" title="收起" style="display:none">收起<img src="/ac/b.gif" class="icon_shrink" alt="收起" /></a>';
	}
	if(!!$("recentReaderDiv")) $("recentReaderDiv").style.display = "none";
	
	//拉取当前日志
	getOneBlog(contentProperty.currentBlogid,blogContentCallback);
	procContentHref();
	setTimeout(initMusicPlayer, 3000);
}

function procContentHref() {
	// 链接冒泡提醒
	if(parent.checkLogin() != parent.g_iUin) {
		var URLReg = /^(http(s|)|ftp(s|)):\/\//i;
		var WHITE_URI = /^(https?:\/\/)?[\w\-.]+\.(qq|paipai|soso|taotao)\.com($|\/|\\)/i;
		var linkArr = $("blogDetailDiv").getElementsByTagName("A");

		for(var index=0; index<linkArr.length; ++index) {
			if(!URLReg.test(linkArr[index].href)) { // 避免mailto等
				continue;
			}

			if(!WHITE_URI.test(linkArr[index].href)) {
				linkArr[index].onclick = function() {
					var ele = parent.QZONE.event.getCurrentTarget();
					parent.QZONE.widget.bubble.show(ele, '<div style="padding-top:4px;color:#f00"><img src="http://' + imgcacheDomain + 
						'/qzone_v4/bt_alert.gif" style="margin:0 2px -2px 0"/>请勿打开陌生人发送的链接。谨防中奖等诈骗信息。</div>',
						'<div><a href="http://' + imgcacheDomain + '/qzone/blogjumper.html?url=' + ele.href + 
						'" target="_blank" style="color:#00f;text-decoration:underline">打开链接</a></div>', 5000, "", "contentLink");

					return false;
				}
			}
		}
	}
}

function initMusicPlayer() {	
	var arr = document.getElementsByName("musicFlash**");
	if(arr.length > 0) {
		var musicParams = [];
		for(var index=0; index<arr.length; ++index) {
			if(!!arr[index].ubb) {
				musicParams.push(arr[index].ubb);
				arr[index].id = "musicFlash" + (musicParams.length-1);
				arr[index].name = "musicFlash" + (musicParams.length-1);
			}
		}
		if(musicParams.length > 0) {
			parent.includeJS("http://"+imgcacheDomain+"/music/musicbox_v2_1/js/musicblog_player.js", function() {
				initMusicData.apply(null, musicParams);
			}, document);
		}
	}
}

//使用blogid拉取一篇日志以及第一篇评论
function getOneBlog(blogid,callback){
	if(!!parent.g_XDoc["blogRoot"].contentHSList[blogid]){
		callback({data:parent.g_XDoc["blogRoot"].contentHSList[blogid]});
		return;
	}
	
	parent.loadJsonData("blogContent","http://"+BLOG_DOMAIN+CGI_PATH+"blog_get_data?uin="+parent.g_iUin+"&num="+PAGE_COMMENT_NUM+"&blogid="+blogid+"&from=0&r="+Math.random(),callback,serrCallback,true,void(0),"_Callback");

	/*var url = "http://"+BLOG_DOMAIN+CGI_PATH+"blog_get_data?uin="+parent.g_iUin+"&num="+PAGE_COMMENT_NUM+"&blogid="+blogid+"&from=0&direct=1&r="+Math.random();
	// 名博静态化评论特殊处理
	if(!!window.isStatic && !parent.firstLoadPage) {
		url = "http://blog.qq.com/qzone/"+parent.g_iUin+"/"+blogid + "_comment.htm";
		parent.firstLoadPage = true;
	}
	
	parent.loadJsonData("blogContent",url,callback,serrCallback,true,void(0),"_Callback");*/
}

//算出评论页数
function getCommentPage(n){
	if(n!=-2)
		return n;
	else{
		with(contentProperty){
			return Math.ceil(totalCommentNumber/PAGE_COMMENT_NUM)+n+1;
		}
	}
}

function turnCommentPage(pageIndex) {
	var tp = Math.ceil(contentProperty.totalCommentNumber/PAGE_COMMENT_NUM);

	var numperpage = PAGE_COMMENT_NUM;
	if(pageIndex == tp) {
		numperpage = contentProperty.totalCommentNumber % PAGE_COMMENT_NUM;
		if(numperpage == 0) {
			numperpage = PAGE_COMMENT_NUM;
		}
	}

	with(contentProperty){
		lastCommentPage=currentCommentPage;
		currentCommentPage=(pageIndex-1);
	}

	getOnePageComment(numperpage,-1,(pageIndex-1)*PAGE_COMMENT_NUM,0,blogCommentListCallback,1);
}

//使用3个关键属性拉取一篇日志评论并且提供回调函数
function getOnePageComment(numPerPage,arch,pos,direct,callBack,type){
	var t=(!!contentProperty.pageList)?contentProperty.pageList[contentProperty.pageIndexMap[contentProperty.currentCommentPage]]:null;
	contentProperty.nowaPage=[arch,pos,direct,getCommentPage(contentProperty.currentCommentPage)];

	if(!!t && !!t.replylist && t.replylist.length>0){
		callBack({"data":t});
		return;
	}
	parent.showMsgbox("正在获取数据...", 0);	
	parent.loadJsonData("blogContent","http://"+BLOG_DOMAIN+CGI_PATH+"blog_get_data?uin="+parent.g_iUin+"&num="+numPerPage+"&blogid="+contentProperty.currentBlogid+"&from="+pos+"&type="+type+"&r="+Math.random(),callBack,serrCallback,true,void(0),"_Callback");
}

//建立UBB编辑器
function buildEditor(){	
	if(window.sendCommentEditor)
		return;
		
	_fontCount = MAX_COMMENT_LEN; //字数限制
	_wysiwygToolbar = ((isStar || isBiz)&&(parent.g_iUin!=parent.g_iLoginUin))?[["0","undo_s","redo_s"],["0","face_s","ubb"],["0","help_s"]]:[["0","fontFamily_s","fontSize_s","bold","italic","underline","fontColor","lightFont","removeformat"],["0","JustifyLeft_s","JustifyCenter_s","JustifyRight_s"],["0","face_s","image_s"],["0","undo_s","redo_s"],["0","ubb","help_s"]];
	_ubbToolbar = ((isStar || isBiz)&&(parent.g_iUin!=parent.g_iLoginUin))?[["0","undo_s","redo_s"],["0","face_s","html"],["0","help_s"]]:[["0","fontFamily_s","fontSize_s","bold","italic","underline","fontColor","lightFont"],["0","JustifyCenter_s","JustifyRight_s"],["0","face_s","image_s"],["0","undo_s","redo_s"],["0","html","help_s"]];
	_defaultToolbarHeight = "28px";
	_autoFocus = true;
	if(!window.createEditor){
		setTimeout(buildEditor,200);
		return;
	}
	window.sendCommentEditor = createEditor("commentEditorAnchor");
	sendCommentEditor.height=200;
	window.sendCommentEditor.build();

	var tmp=$("commentEditor");
	tmp.blur();
	tmp.style.display="none";
	if(contentProperty.editorCallbackToDoList.length>0)
		(contentProperty.editorCallbackToDoList.pop())();
	setTimeout(function(){try{window.sendCommentEditor.editorArea.frameWindow.focus();window.sendCommentEditor.editorArea.focus();}catch(err){}},1000);	

	// 避免编辑器中的函数覆盖
	popupDialog = popupNewDialog;
	closePopup = closeNewPopup;
}

//开始UBB编辑器拉取
function getUBBeditor(o){
	if(!!o)
		o.onfocus=null;

	var url = "http://"+IMGCACHE_DOMAIN+"/qzone/blog/QZEditor/qzEditor.js";
	loadEditor(url, buildEditor, function(){
		setTimeout(loadEditor, 1000, url+"?r="+Math.random(), buildEditor, function() {
			alert("服务器繁忙，暂时无法初始编辑器，请稍候重试。");
		}); // 重新拉取一次
	});
}

function loadEditor(url, succCallback, errCallback) {
	var s = $("jsLoader");
	if(!s) {
		var h = document.getElementsByTagName("head")[0];
		s = document.createElement("script");
		s.id = "jsLoader";
		h.appendChild(s);
	}	
	
	parent.addEvent(s, (Browser.isIE ? "readystatechange" : "load"), function() {
		if(Browser.isIE && s.readyState != "loaded") {
			return;
		}
		
		if(typeof(qzEditorLoaded) == "undefined") {
			if(errCallback) errCallback();
		}
		else {
			if(succCallback) succCallback();			
		}
		
		succCallback = errCallback = null;
	});
		
	s.charset = "gb2312";	
	s.src = url;
}

//取消日志评论
function cancelCommentSubmit() {
	if(!!window.sendCommentEditor) {
		sendCommentEditor.editorArea.clear();
	}
}

//检查内容
function commentContent(_c){
	var re;
	var lengthLimit=MAX_COMMENT_LEN;

	//空内容检查
	if(_c==""){
		alert("请输入评论内容");
		return -1;
	}

	//贴图数目检查
	re=/\[img\](.[^\]]*)\[\/img\]/ig;
	var imgCount=0;
	while((arr = re.exec(_c)) != null)
		imgCount++;
	if(imgCount>1){
		alert("对不起，您只能插入一张图片");
		return -1;
	}

	//输入内容长度检查
	if(_c.length>lengthLimit || _c.getRealLength()>lengthLimit){
		alert("很抱歉，您输入的内容字数过多，请删减后再重新提交");
		return -1;
	}

	re = /\[ffg,([a-zA-z#0-9]{1,10}),([a-zA-z&#=;0-9]{1,10})\]([^\[]{31,})\[\/ft\]/
	if(re.test(_c))
		if(!confirm("您设置发光的文字已超过30个，发光字效果将可能失效，确认发表此评论吗？"))
			return -1;
	re= /\[ffg,([a-zA-z#0-9]{1,10}),[a-zA-z&#=;0-9]{1,10}\]/g;
	if(_c.match(re) && _c.match(re).length>1)
		if(!confirm("发光字回复中效果只能使用一次，更多的发光字将无法显示，确认发表此评论吗？"))
			return -1;
	re = /\[ffg,([a-zA-z#0-9]{1,10}),([a-zA-z&#=;0-9]{1,10})\](.*\[f.*)\[\/ft\]/
	if(re.test(_c))
		if(!confirm("若发光字中使用了其它特效，发光字效果将可能失效，确认发表此评论吗？"))
			return -1;

	if(checkLogin()<10000){
		clearArray(blogLoginFnList);
		if(isStar){
			parent.customVarContainer.cacheForAnonComment={
				submitURL:"http://"+BLOG_DOMAIN+CGI_PATH+"blog_add_comment",
				blogid:contentProperty.currentBlogid,
				content:_c.URLencode(),
				sf:commentSucc,
				ef:commentError
				}//为了匿名评论做准备
				
			if($("_anonym") && $("_anonym").checked) {
				parent.popupDialog('匿名评论', '<iframe frameborder="no" id="anonymCommentFrame" style="width:100%;height:100%" src="/qzone/newblog/anonymcomment.html"></iframe>', 242, 293);
				return -99;
			}
		}
		
		blogLoginFnList.push(function() {			
			if(parent.g_iLoginUin>10000 && parent.g_iLoginUin!=parent.g_iUin) {	
				//$("msgboardSelfReply").style.display = "";
				$("blogSelPaper").title = "我也要使用此信纸写日志";
			}
		});
		parent.showLoginBox("blogComment",isStar,"发评论前需要先确认您的身份");
		return -3;
	}	

	return 0;
}

//提交日志评论
function commentSubmit(verifycode){
	if(!window.sendCommentEditor){
		alert("您还没有填写任何评论内容");
		$("commentEditor").focus();
		return false;
	}

	var s=sendCommentEditor.getUBB().trim("R");
	switch(commentContent(s)){
		case 0:break;
		case -1:sendCommentEditor.editorArea.focus();return false;
		default:return false;
	}
	
	if(!!bProcessingReq) return false;

	var url="http://"+BLOG_DOMAIN+CGI_PATH+"blog_add_comment";
	var data = "blogid="+contentProperty.currentBlogid+"&uin="+parent.g_iUin+"&content="+s.URLencode()+"&cb_autograph=0&property="+parent.g_Property+((frmComment.magicEffect.selectedIndex==0)?"":("&"+frmComment.magicEffect.value+"=1"));
	
	if(!!verifycode){
		data += "&verifycode=" + verifycode;
	}
	
	parent.showMsgbox("正向服务器提交请求,请稍候...", 0);
	bProcessingReq = true;
	parent.loadXMLAsyncNoCache("commentSubmit",url,commentSucc,commentError,data);
	return false;
}

//正确返回的评论提交
function commentSucc(){
	bProcessingReq = false;
	var t=parent.g_XDoc["commentSubmit"];
	if(!!selectXMLNode(t, "/error")){
		commentError();
		return;
	}
	parent.hideMsgbox();
	
	dalert(null, getXMLNodeText(selectXMLNode(parent.g_XDoc["commentSubmit"], "/succ")), 2000);
	delete parent.g_XDoc["commentSubmit"];

	contentProperty.totalCommentNumber++;

	//清理cache
	sendCommentEditor.editorArea.clear();	
	$("startToolSelect").innerHTML="请选择道具";
	frmComment.magicEffect.selectedIndex=0;
		
	with(contentProperty){
		if(totalCommentNumber<PAGE_COMMENT_NUM){
			delete parent.g_XDoc["blogRoot"].contentHSList[currentBlogid];
			setTimeout(function(){contentInit(contentProperty.currentBlogid)},50);
		}
		else{
			$("commentCount3").innerHTML=parent.g_XDoc["blogCommentCount"][currentBlogid].reply=totalCommentNumber;
			delete contentProperty.pageList;
			setTimeout(getLatestCommentPage,50);
		}
		parent.g_XDoc["blogRoot"].replyNumUpdateHSmap[currentBlogid]=totalCommentNumber;
	}
	var t=/1$/;
	for(var j in parent.g_XDoc["blogRoot"].titlePageMap){
		if(t.test(j))
			parent.g_XDoc["blogRoot"].titlePageMap[j]=null;
	}
}

//评论错误回调
function commentError(){
	bProcessingReq = false;
	parent.hideMsgbox();

	var x=parent.g_XDoc["commentSubmit"];
	var type=selectXMLNode(x,"/error").getAttribute("type");
	var msg=getXMLNodeText(selectXMLNode(x,"/error"));
	
	if(type=="login"){
		clearArray(blogLoginFnList);
		parent.showLoginBox("blogComment",false,"发表评论前需要先确认您的身份");
	}
	else if(type=="need_verify" || type=="verify code" || type=="ipc_check") {
		setTimeout(function() {
			parent.popupCallback = function(verifycode) {
				if(!!verifycode) {
					commentSubmit(verifycode);
				}
			};
		}, 1200); // 避免parent.popupCallback在closePopup的onload给置null
		parent.popupDialog('请输入验证码', '<iframe frameborder="no" id="verifycodeFrame" style="width:100%;height:100%" src="/qzone/newblog/v5/verifycode.html?imgcode=8000103&type='+(type=="need_verify" ? 0 : 1)+'"></iframe>', 270, 190);
	}
	else{
		dalert(null,msg);
	}
	delete parent.g_XDoc["commentSubmit"];
}

//返回最新一页评论
function getLatestCommentPage(){
	var n=contentProperty.totalCommentNumber%PAGE_COMMENT_NUM;//计算最新一页会有多少条评论
	if(n==0)
		n=PAGE_COMMENT_NUM;
	with(contentProperty){lastCommentPage=currentCommentPage;currentCommentPage=-2;}

	var totalPage = Math.ceil(contentProperty.totalCommentNumber/PAGE_COMMENT_NUM);
	getOnePageComment(n,-1,(totalPage-1)*PAGE_COMMENT_NUM,0,blogCommentListCallback,1);
	return true;
}

//返回最早一页评论
function getFirstCommentPage(){
	with(contentProperty){lastCommentPage=currentCommentPage;currentCommentPage=0;}
	getOnePageComment(PAGE_COMMENT_NUM,0,0,1,blogCommentListCallback,1);
	return true;
}

//开始选择工具
function selectTools(o){
	o.style.display="none";
	var e=$("toolSelector");
	e.style.display="";
	e.focus();
}

//变换道具
function changeTool(o){
	var t=$("startToolSelect");
	t.innerHTML=(o.selectedIndex!=0)?("使用:"+o.options[o.selectedIndex].text):("请选择道具");
	t.style.display="";
	o.style.display="none";
}

//切换字体
function setFont(o,s,n){	
	var d = $("blogDetailDiv");
	if(d.getElementsByTagName("td").length>0) d=d.getElementsByTagName("td")[0];
	
	if(!o)
		o=$("btnSetFont");

	if(!s) {	
		if(o.innerHTML == "大字体") {
			sendPV('largefont', "rizhi.qzone.qq.com");
		}
		else if(o.innerHTML == "小字体") {
			sendPV('smallfont', "rizhi.qzone.qq.com");
		}
	}
		
	if(!s) {
		s=o.innerHTML;
	}
	
	var save;
	switch(s){
		case ("大字体"):
			d.style.fontSize="16px";
			o.innerHTML="小字体";
			o.title="日志内容显示为小字体";
			save=s;
			break;
		case ("小字体"):
			d.style.fontSize="12px";
			o.innerHTML="大字体";
			o.title="日志内容显示为大字体";
			save=s;
			break;
	}
}

//隐藏签名档
function hideSign(o,s,n){
	var t=document.styleSheets["controlStyle"][(Browser.isIE?"rules":"cssRules")];
	if(!o)
		o=$("btnHideSign");
	
	if(!s) {
		if(o.innerHTML == "隐藏签名档") {
			sendPV('hidewrite', "rizhi.qzone.qq.com");
		}
		else if(o.innerHTML == "显示签名档") {
			sendPV('showwrite', "rizhi.qzone.qq.com");
		}
	}
	
	if(!s){
		s=o.innerHTML;
	}
		
	var save;
	switch(s){
		case ("隐藏签名档"):
			t[4].style.display="none";
			o.innerHTML="显示签名档";
			o.title="显示所有签名档信息";
			save=s;
			break;
		case ("显示签名档"):
			t[4].style.display="";
			o.innerHTML="隐藏签名档";
			o.title="隐藏所有签名档信息";
			save=s;
			break;
	}
}


function fixCurentPos(id,list){
	for(var i=list.length-1;i>=0;i--){
		if(id==list[i].blogid){
			return i;
		}
	}
	return 0;
}

/**
 *填入日志信息
 *@param {Object} 日志单篇jsobj
 */
function fillBlogData(o, bDraftFlag){
	frmc.blogTitle.value=o.data.title.toRealStr().convHtmlChar().convSP(true).convCR(true);//填充标题

	if(!!o.data.lp_style && !! o.data.lp_id) {  // 设置信纸
		editerProperty.lp_style = o.data.lp_style;
		editerProperty.lp_id = o.data.lp_id;
		
		// 避免vote区的hidden造成btn位置不对,才用setTimeout
		if(parent.simpleMode == 0) {
			setTimeout(function(iPaperStyle, iPaperID){blogEditor.setLetterPaper(iPaperStyle, iPaperID);}, 10, o.data.lp_style, o.data.lp_id);        
			setTimeout(function(){blogEditor.showDefinePanel('paperDialog', 'paperDialog', blogTemplete['editBlogPaperBtn'], 354);}, 100);
		}
	} 
    
	blogEditor.editorArea.fillUBB(o.data.content.toRealStr().convHtmlChar().convSP(true).convCR(true));//填充内容

	if(o.data.voteids>0){ // 是否表现投票
		editerProperty.currentVoteid=o.data.voteids;
		editerProperty.isVote=true;
		$("categoryText").style.display="";
		$("categoryUti").style.display="none";
		var t=$("launchvote");
		t.checked=true;
		if(!bDraftFlag) t.disabled=true;
	}
	else if(!bDraftFlag) {		
		$("isVoteDiv").disabled = true;
	}

	frmc.forbidquote.checked=false;
	frmc.cb_xmd.checked=false;
	var efl=effectSplit(o.data.effect);
	$("publicRightCheck").checked = true;
	o.data.blogright = 1;
	
	for(var i=0;i<efl.length;i++) {
		switch(parseInt(efl[i], 10)){
			case 512:
				break;
			case 64:
				frmc.forbidquote.checked=true;
				break;
			case 16:
				frmc.setTopInput.checked=true;
				break;
			case 2:
				frmc.cb_xmd.checked=true;
				if(!bDraftFlag) frmc.cb_xmd.disabled=true;
				break;
			case (1 << 29):
				if(o.data.friendrelation.length == 1 && o.data.friendrelation[0].cateid == 1) {
					$("friendRightCheck").checked = true;
					o.data.blogright = 2;
					editerProperty.right = 2;
				}
				else {
					$("specificRightCheck").checked = true;
					$('blogRightSpecArea').style.display='';
					o.data.blogright = 3;					
					
					var result = [];
					for(var index=0; index<o.data.friendrelation.length; ++index) {
						result.push(o.data.friendrelation[index].groupid);
					}					
					getBlogRightSpecUins(result, function(arr) {
						var list = [];
						for(var index=0; index<arr.length; ++index) {
							list.push({"data":arr[index]+"", "label":parent.g_JData["portraitList"][arr[index]][6].toRealStr()});							 
						}
						editerProperty.right = 3;
						editerProperty.rightResult = list;
						fillRightArea(list);
					});
				}
				break;			
		}
	}

	if(parent.g_XDoc["blogRoot"].categoryReady){//填充分类
		setTimeout(function(){selectCategory(o.data.category)},50);
	}
	else{
		editerProperty.todoList.push(function(){selectCategory(o.data.category)});
	}
	
	// 填充tag
	if(o.data.tag && o.data.tag.getRealLength() > 0) {
		var tag = o.data.tag.split("|").join(" ");
		$("tagInput").focused = true;
		$("tagInput").style.color = '#000';
		$("tagInput").value = tag.convHtmlChar();		
	}
}

function searchTag(tag) {
	var sosoForm = $("sosoForm");
	if(!sosoForm) {
		sosoForm = document.createElement("form");
		sosoForm.id = "sosoForm";
		sosoForm.style.display = "none";
		sosoForm.action = "http://qzone.soso.com/qz.q";
		sosoForm.target = "_blank";
		document.body.appendChild(sosoForm);
	}
	
	sosoForm.innerHTML = '<input type="hidden" name="sc" value="qz"/><input type="hidden" name="ch" value="s.qz.diary"/><input type="hidden" name="ty" value="diary"/><input type="hidden" name="w" value="'+tag+'"/>'+'<input type="hidden" name="cid" value="qz.s.tag" />';	
	sosoForm.submit();
}

function addToShare() {
	if(parent.g_iUin == parent.g_iLoginUin) {
		parent.showMsgbox("您不能分享自己的日志!", 1, 2000);
		return;
	}
	
	if(parent.g_iLoginUin <= 10000) {
		parent.showLoginBox("blogComment", 0, "分享日志前需要先确认您的身份");			
		return;
	}		
	
	_doShareBlog();
}

function _doShareBlog() {
	var title = blogTitle;
	var content = "";
	if(typeof($("blogDetailDiv").innerText) != "undefined") {
		content = $("blogDetailDiv").innerText;
	}
	else if(typeof($("blogDetailDiv").textContent) != "undefined") {
		content = $("blogDetailDiv").textContent;
	}
	else if(typeof($("blogDetailDiv").text) != "undefined") {
		content = $("blogDetailDiv").text;
	}
	var imgArr = $("blogDetailDiv").getElementsByTagName("img");
	var summary = (content.getRealLength() > 100) ? (content.cutWord(100).toRealStr()+"...") : content;
	
	parent.blogFormParams = {"type":1, "title":title, "blogid":currentBlogId, "spaceuin":parent.g_iUin,
		"nickname":getOwnerNickname(), "totallen":content.getRealLength(), "summary":summary, 
		"images":(imgArr.length>0 ? imgArr[0].src : ""), "picnum":imgArr.length};				

	window.getShareInfo = function() {
		return parent.blogFormParams;
	};
	parent.popupDialog('添加日志《'+(title.cutWord(10).toRealStr()+(title.getRealLength()>10 ? "..." : "")).toInnerHTML()+'》到我的分享', '<iframe frameborder="no" height="300" width="408" src="http://'+IMGCACHE_DOMAIN+'/qzone/app/qzshare/popup.html"></iframe>', 410, 300);
}

////////////////////////////////////////////////////
function sendPVStar(){
	var pvCurDomain = 'blog.qq.com';
	var pvCurUrl="/static";
	var data=[
		"dm="+pvCurDomain,
		"url="+encodeURIComponent(pvCurUrl),
	];
	var r=/https?:\/\/(\w+(\.\w+)+)(\/[^?#]*)?/;
	var m=document.referrer.match(r);
	if(!!m){
		if(m.length>1)
			data.push("rdm="+m[1]);
		if(m.length>3)
			data.push("rurl="+encodeURIComponent(m[3]));
	}
	var c=parent.getCookie("pvid");
	if(!c){
		c=(Math.round(Math.random()* 2147483647)*(new Date().getUTCMilliseconds()))%10000000000;
		parent.setCookie("pvid",c);
	}
	data.push("pvid="+c);
	parent.send_stat_request("http://pingfore.qq.com/pingd?scr=-&scl=-&lang=-&java=1&cc=-&pf=-&tz=-8&ct=-&vs=3.3&tt=-&"+data.join("&")+"&sds="+Math.random(),1000);
}

function sendRefer(){}

function getSubElementsByTagName(ele, tagName) {
	if(!ele) {
		return null;
	}
	
	var arr = [];
	if(!tagName) {
		return arr;
	}
	
	tagName = tagName.toLowerCase();
	for(var index=0; index<ele.childNodes.length; ++index) {
		if(ele.childNodes[index].nodeName.toLowerCase() == tagName) {
			arr.push(ele.childNodes[index]);
		}
	} 

	return arr;
}

function updatePageIndex(ele, bPos, bFlag) {
	if(!ele) return;

	var arrHref = getSubElementsByTagName(ele, "a");
	if(arrHref.length != 4) 
		return;
		
	if(bPos == 1) {
		getSubElementsByTagName(arrHref[2], "img")[0].className = bFlag ? "bt_next" : "bt_next_n";
		getSubElementsByTagName(arrHref[3], "img")[0].className = bFlag ? "bt_next_e" : "bt_next_e_n";		
	}
	else if(bPos == -1) {
		getSubElementsByTagName(arrHref[0], "img")[0].className = bFlag ? "bt_pre_e" : "bt_pre_e_n";
		getSubElementsByTagName(arrHref[1], "img")[0].className = bFlag ? "bt_pre" : "bt_pre_n";
	}
}

function jumpToCate(cate) {
	location.href = "http://user.qzone.qq.com/"+parent.g_iUin+"/blog?url=" + encodeURIComponent("/qzone/newblog/v5/list.html?cate="+encodeURIComponent(cate.toInnerHTML()));
}

function fixFlashBug(){
	__flash__removeCallback = function(){};
	__flash_unloadHandler = function(){};
	__flash_savedUnloadHandler = function(){};
}

function handleExit() {
	fixFlashBug();
	try {			
		g_insertSwfNum=0;
		clearMusicData();
	}
	catch(err) {
	}
}
addEvent(window,"beforeunload", handleExit);

setLoginStatus();

var PageIndexManager = {
	// eg: function callback(pageIndex)
	init : function(containerArr, totalNum, currentIndex, callback) {
		if(!containerArr || containerArr.length==0 || totalNum<1 || currentIndex<1 || totalNum<currentIndex) {
			return false;
		}

		this._currentIndex = currentIndex;
		this._totalIndex = totalNum;
		this._containerArr = containerArr;
		this._callback = (typeof(callback)=="function") ? callback : QZONE.emptyFn;
		
		this._updatePage();
		this._bInitialized = true;
	},

	getCurrentIndex : function() {
		if(!this._bInitialized) {
			return -1;
		}

		return this._currentIndex;
	},

	goPage : function(direct) {
		if(!this._bInitialized) {
			return false;
		}

		if(direct != 1 && direct != -1) {
			return false;
		}

		if(direct == -1 && this._currentIndex==1) {
			showMsgbox("当前页已经是第一页!", 1, 2000);
			return false;
		}

		if(direct == 1 && this._currentIndex==this._totalIndex) {
			showMsgbox("当前页已经是最后一页!", 1, 2000);
			return false;
		}

		this._showPage(this._currentIndex+direct);
		return true;
	},

	goDirectPage : function(pageIndex) {
		if(!this._bInitialized) {
			return false;
		}

		pageIndex = parseInt(pageIndex, 10);
		if(isNaN(pageIndex)) {
			showMsgbox("请填入正确的页码!", 1, 2000);
			return false;
		}

		if(pageIndex<1 || pageIndex>this._totalIndex) {
			showMsgbox("此页码不存在!", 1, 2000);
			return false;
		}

		if(pageIndex != this._currentIndex) {
			this._showPage(pageIndex);
		}
		return true;
	},

	_showPage : function(pageIndex) {
		this._currentIndex = pageIndex;
		this._updatePage();
		this._callback(this._currentIndex);
	},

	_updatePage : function() {
		var result = [];
		var start = Math.max(this._currentIndex-3, 1);
		var end = Math.min(start+6, this._totalIndex);
		start = Math.max(end-6, 1);
		
		for(var index=start; index<=end; ++index) {
			if(start>=2 && index==start) {
				result.push('<a href="javascript:;" onclick="PageIndexManager.goDirectPage(1);return false;">1</a> <strong class="ellipsis">...</strong> ');
				continue;
			}
			if((end<=this._totalIndex-1) && index==end){
				result.push('<strong class="ellipsis">...</strong><a href="javascript:;" onclick="PageIndexManager.goDirectPage('+this._totalIndex+');return false;">'+this._totalIndex+'</a> ');
				continue;
			}

			result.push((index!=this._currentIndex) ? ('<a href="javascript:;" onclick="PageIndexManager.goDirectPage('+index+');return false;">'+index+'</a> ') : ('<strong class="hit">'+index+'</strong> '));
		}
		
		this._pageData.firstDisabled = (this._currentIndex==1 ? "disabled" : "");
		this._pageData.nextDisabled = (this._currentIndex==this._totalIndex ? "disabled" : "");
		this._pageData.centerPageHTML = result.join("");
		this._pageData.currentPage = this._currentIndex;

		for(var index=0; index<this._containerArr.length; ++index) {
			this._containerArr[index].innerHTML = doFill(this._templateHTML, {"data":this._pageData});			
			QZONE.event.addEvent($("pageIndex_input"+this._pageData.index), "keypress", function(evt){
				evt = QZONE.event.getEvent(evt);
				if(evt.keyCode == 13){
					PageIndexManager.goDirectPage(QZONE.event.getTarget().value.trim());
				}
			});
			++this._pageData.index;
		}		
	},

	// private
	_bInitialized : false,
	_currentIndex : -1,
	_totalIndex : -1,
	_callback : null,
	_containerArr : null,

	_pageData : {
		"firstDisabled" : "",
		"centerPageHTML" : "",
		"nextDisabled" : "",
		"currentPage" : 1,
		"index" : 1
	},

	_templateHTML : '<%repeat_0 match="/data"%><div class="com_page"><span class="page_list">' +
		'<a onclick="PageIndexManager.goPage(-1);return false;" <%=@firstDisabled%> href="javascript:;">上一页</a> <%=@centerPageHTML%> ' +
		'<a onclick="PageIndexManager.goPage(1);return false;" <%=@nextDisabled%> href="javascript:;">下一页</a>' +
		'</span><span class="page_form c_tx3">转到 <input class="page_input bor" type="text" id="pageIndex_input<%=@index%>" value="<%=@currentPage%>" /> 页' +
		'<button onclick="PageIndexManager.goDirectPage($(\'pageIndex_input<%=@index%>\').value.trim());sendPV(\'comment_btn_comfirm\', \'blogtest.qzone.qq.com\');" type="button" class="bt_tx2">确定</button></span></div><%_repeat_0%>'
};

function adjustImageWidth(imgObj, maxWidth) {
	if(!imgObj) {
		return;
	}

	var img = new Image();
	img.onload = function() {
		this.onload = null;		
		var width = parseInt(this.width, 10);
		var height = parseInt(this.height, 10);
		if(width != 0 && height != 0) {
			if(maxWidth < 0 || width <= maxWidth) {
				return;
			}

			imgObj.style.height = Math.floor(maxWidth*(height+1)/width) + "px";
			imgObj.style.width = maxWidth + "px";
		}
	};
	img.src = imgObj.src;
};

function procImage(maxWidth, obj) {
	if(obj.getAttribute("transImg") && QZONE.userAgent.ie < 7) {
		obj.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, src="+obj.src+", sizingmethod=scale);";
		obj.src = "/ac/b.gif";
	}

	adjustImageWidth(obj, maxWidth);	
}

(function procBlogContent() {
	var maxWidth = (g_fullMode == 3 ? 870 : 670);
	var objArr = $("blogDetailDiv").getElementsByTagName("IMG");
	for(var index=0; index<objArr.length; ++index) {
		procImage(maxWidth, objArr[index]);
	}
})()

/*  |xGv00|396a4a6343ae420fc3a61f60e2001005 */