document.domain="myspace.cn";
ProfileV4();
function ProfileV4(){
	var U = iUtil();
/*
	userRank();
	wordCounter("prf_update_status");
	updateUserStatus("prf_update_status");
	publishComment("prf_publish_comment");
	FeedModule("prf_feed_wrapper");
	changeLocation("prf_basic_location");
	changeCountry("prf_aboutme_country");
	show_delete_link("prf_feed_wrapper");
	U.imageSize(document.getElementById("prf_feed_wrapper").getElementsByTagName("img"),[400],400);
*/
	ProfileV4.templateShow=templateShow;
	ProfileV4.userRank=userRank;
	ProfileV4.wordCounter=wordCounter;
	ProfileV4.updateUserStatus=updateUserStatus;
	ProfileV4.publishComment=publishComment;
	ProfileV4.FeedModule=FeedModule;
	ProfileV4.changeLocation=changeLocation;
	ProfileV4.changeCountry=changeCountry;
	ProfileV4.show_delete_link=show_delete_link;
	ProfileV4.message_mod=message_mod;
	ProfileV4.iUtil=iUtil;
	
	function message_mod(asWrapperId){
		var leWrapper = document.getElementById(asWrapperId);
		if(!leWrapper){
			return false;
		}
		var ctrl = {
			reportUrl:"http://home.myspace.cn/reportabuse.aspx?source=3&friendID="
		};
		var dom={
			textarea:leWrapper.getElementsByTagName("textarea")[0],
			submit:document.getElementById("prf_send_msg").getElementsByTagName("a")[0],
			ul:leWrapper.getElementsByTagName("ul")[0],
			reportLinks:U.byClass("report_link",leWrapper,"a"),
			delLinks:U.byClass("del_link",leWrapper,"a")
		};
		var view={
			item:[
				'<div class="avatar">',
				'    <a target="_blank" href="http://www.myspace.cn/{K:UserId}"><img src="{K:UserImage}" alt="{K:DisplayName}" /></a>',
				'</div>',
				'<div class="info">',
				'    <img class="online" src="http://xfiles.cdnmyspace.cn/dir/userhome/v3/img/onlineIcon.gif" alt="在线" /><a class="user_name" target="_blank" href="http://www.myspace.cn/{K:UserId}" title="{K:DisplayName}">{K:DisplayName}</a>',
				'    <div class="cont">',
				'        <span class="text">{K:CommentBody}</span>',
				'        <span class="date">&nbsp;&nbsp;-{K:PostDate}</span>',
				'    </div>',
				'    <div class="opt">',
				'        <div class="right_seg">',
				'            <a href="javascript:void(0)" class="del_link" cid="{K:CommentId}">删除</a>',
				'        </div>',
				'    </div>',
				'</div>']
		};
		listen();
		
		function listen(){
			for(var i=0;i<dom.reportLinks.length;i++){
				U.addEvent(dom.reportLinks[i],"click",report_handler);
			}
			for(var i=0;i<dom.delLinks.length;i++){
				U.addEvent(dom.delLinks[i],"click",del_handler);
			}
			U.addEvent(dom.textarea,"focus",isPublish);
			U.addEvent(dom.submit,"click",create);
		}
		function del_handler(event){
			var event = event || window.event;
			var leTarget = event.target || event.srcElement;
			var leItem = leTarget.parentNode.parentNode.parentNode.parentNode;
			var lsCid = leTarget.getAttribute("cid");
			if(lsCid){
				leItem = document.getElementById("comment_item_"+lsCid);
			}
			del(leItem);
		}			
		function report_handler(event){
			var event = event || window.event;
			var leTarget = event.target || event.srcElement;
			var leItem = leTarget.parentNode.parentNode.parentNode.parentNode;
			var lsCid = leTarget.getAttribute("cid");
			if(lsCid){
				leItem = document.getElementById("comment_item_"+lsCid);
			}		
			var leContInner = U.byClass("text",leItem,"span")[0];
			var lsId = leItem.getAttribute("uid");
			report(lsId,leContInner.innerHTML);
		}		
		function create(){
			var lsUrl = "http://ajax.myspace.cn/_Common/AjaxService/profileservice.asmx/ProfilePostComment";
			var lsVal = dom.textarea.value;
			var lsPostContent=dom.textarea.value.split("\r\n").join("<br />").split("\n").join("<br />");
			var loRequest={
				"webservices": lsUrl,
				"contentType":"application/json",
				"values":['{"msg":"',encodeURIComponent(lsPostContent),'","picUrl":"","receipantId":',MO_MySpaceContext.DisplayFriendId,',"type":"profile","captcha":""}'].join("")
			};
			if(validate(lsVal)){
				U.loadAjax(loRequest,function(asData){
					var loData=U.json2Obj(asData);
					if(loData.Result == 0){							
						var leLi = document.createElement("li");
						leLi.id="comment_item_"+loData.CommentId;
						leLi.setAttribute("uid",loData.UserId);
						leLi.setAttribute("cid",loData.CommentId);
						leLi.innerHTML = U.smartView(view.item.join(""),loData);
						dom.ul.insertBefore(leLi,dom.ul.firstChild);
						
						var leReportLink = U.byClass("report_link",leWrapper,"a")[0];
						var leDelLink = U.byClass("del_link",leWrapper,"a")[0];
						U.addEvent(leReportLink,"click",report_handler);
						U.addEvent(leDelLink,"click",del_handler);						
						
						dom.textarea.value = "";
					}else if(loData.Result == 1){
						alert(loData.Message);
					}else if(loData.Result == 2){
						location.href=loData.RedirectUrl;
					}															
				},"ajax");
			}
		}
		function validate(asVal){
			if(!/\S/.test(asVal)){
				alert("请输入留言的内容！");
				return false;
			}else{
				return true;
			}
			
		}
		
		function del(aeNode){
			if(!confirm("您确定要删除该条留言吗？")){
				return false;
			} 	
		 	var leParent = aeNode;
		 	var lsCid = leParent.getAttribute("cid");
		 	var lsUid = leParent.getAttribute("uid");
			var lsUrl = "http://ajax.myspace.cn/_Common/AjaxService/profileservice.asmx/DeleteComment";
			var loRequest={
				"webservices": lsUrl,
				"contentType":"application/json",
				"values":['{"commentId":',lsCid,',"userId":',lsUid,',"displayFriendId":',MO_MySpaceContext.DisplayFriendId,'}'].join("")
			};
			U.loadAjax(loRequest,function(asData){
				var loResp=U.json2Obj(asData);
				if(loResp.Result == 0){
					leParent.parentNode.removeChild(leParent);
				}else if(loResp.Result == 2){
					location.href = loResp.RedirectUrl;
				}else{
					alert(loResp.Message);
				}			
			},"ajax");
		}
		function report(asId,asContent){
			var leForm = post_form(
				{
					"Reason":encodeURIComponent(asContent)
				},
				{
					action:ctrl.reportUrl+asId,
					target:"_blank",
					method:"post"
				}
			);
			leForm.submit();
		}
		function getCont(aeItem){
			
		}
		function isPublish(){
			var lsUrl = "http://ajax.myspace.cn/_Common/AjaxService/profileservice.asmx/GetSendCommentStatusForReply";
			var loRequest={
				"webservices": lsUrl,
				"contentType":"application/json",
				"values":'{"receipantId":'+MO_MySpaceContext.DisplayFriendId+',"type":"profile"}'
			};
			U.loadAjax(loRequest,function(asData){
				var loResp=U.json2Obj(asData);
				if(!loResp){
					return;
				}
				if(loResp.Result == 2){
					location.href = loResp.RedirectUrl;
				}else if(loResp.Result == 1){
					dom.textarea.blur();
					alert(loResp.Message);					
				}
			},"ajax");			
						
		}
		
		function post_form(aoData,aoAttr){
		    var leForm = document.createElement("form");
		     for(var x in aoAttr){
		     	leForm.setAttribute(x,aoAttr[x]);
		     }
		    for(var x in aoData){
		        var leInput = document.createElement("input");
		        leInput.type = "hidden";
		        leInput.name = x;
		        leInput.value = aoData[x];
		        leForm.appendChild(leInput);
		    }
		    document.body.appendChild(leForm);
		    return leForm;
		}
	}
	
	function HomeMBlogs(asWrapperId){
		var leWrapper = document.getElementById(asWrapperId);
		if(!leWrapper){
			return false;
		}
			
	    getMBlogFeedItems();
	
		function getMBlogFeedItems(){
			var LiMblogFeedItems = U.byClass("f_1750",leWrapper,"li");
			for(var i=0;i<LiMblogFeedItems.length;i++){
					HomeMBlog(LiMblogFeedItems[i]);
			}			
		}	 
	}
	
	function HomeMBlog(aeWrapper){
		var leWrapper = aeWrapper;
		
		var aLinkMblogFeedItems =  U.byClass("cnHasLine",leWrapper,"a");
				
		var aLinkeMblogUserNames =  U.byClass("aName",leWrapper,"a");
		
		var aLinkeMblogUserName = "";
		if (aLinkeMblogUserNames && aLinkeMblogUserNames.length > 0) {
			aLinkeMblogUserName = aLinkeMblogUserNames[0].innerHTML;
		}
		
		if (aLinkMblogFeedItems && aLinkMblogFeedItems.length == 2) {		
			var hItems = U.byClass("hiddenInputMBlogContent",leWrapper,"input");
			if (hItems && hItems.length>=3){
				   var imageContent = "";
				   var mblogImageSummarys =  U.byClass("mblogImageSummary",leWrapper,"div");
				   if (mblogImageSummarys&&mblogImageSummarys.length>0){
				   		imageContent = mblogImageSummarys[0].innerHTML;
				   }
				   
					listen();
			}			
		}
		function listen(){
			aLinkMblogFeedItems[0].onclick =rtMblog(aLinkeMblogUserName,hItems[0].value,hItems[1].value,hItems[2].value,imageContent);
			aLinkMblogFeedItems[1].onclick =reMBlog(aLinkeMblogUserName,hItems[0].value,hItems[1].value,hItems[2].value,imageContent); 
		}
		
		function rtMblog(rusername, rId, ruserid, mContent, mImageSummary){
			return function(){
				U.loadAjax({
					"webservices": "http://ajaxv2.myspace.cn/_Common/AjaxService/UserHomeSvc.svc/json/CheckLogin?friendId=" + ruserid + "&r=" + Math.random(),
					"method": "get",
					"values": "",
					"contentType": "application/json"
				}, actionRT);
				
				function actionRT(asData){
					var loData = U.json2Obj(asData);
					if (loData.Result == 1) {
						U.loadAjax({
							"webservices": "http://mblog.myspace.cn/do_feed_get_rt_content.php?blogid=" + rId,
							"method": "get",
							"values": "",
							"contentType": "application/json"
						}, action, "mblog");
					}
					else 
						if (loData.Result == 2) {
							location.href = loData.Msg;
						}
						else {
							alert("系统错误!");
						}
				}
				
				function action(asData){
					var loData = U.json2Obj(asData);
					
					var titleContent = "转发微博客";
					if (rusername != "") 
						titleContent = "转发" + rusername + "微博客";
					
					var c30 = String.fromCharCode(30);
					var c20 = String.fromCharCode(20);
					
					var loPopMBlogLayer = PopMBlogLayer({
						popLayer: document.getElementById("mblogSendLayer"),
						topDiff: -100,
						mbType: 2,
						mbRId: rId,
						mbUserId: ruserid,
						mbUserName: rusername,
						mbContentLayer: document.getElementById("mb_mblogcontent"),
						mbContent: loData,
						mbTitleLayer: document.getElementById("mBlogSpanTitle"),
						mbTitle: titleContent,
						mbImageSummary: "",
						mbRTString: c30 + c30 + "RT" + c20 + ruserid + c20 + rusername
					});
					var btnCloseMBlogSend = document.getElementById("btnCloseMBlogSend");
					if (btnCloseMBlogSend) 
						btnCloseMBlogSend.onclick = loPopMBlogLayer.hide;
					var btnUpdateMBlogSend = document.getElementById("btnUpdateMBlogSend");
					if (btnUpdateMBlogSend) 
						btnUpdateMBlogSend.onclick = loPopMBlogLayer.updateMBlog;
					
					loPopMBlogLayer.show();
				}
				
			}
		}
		
		function reMBlog(rusername,rId,ruserid,mContent){
			return function(){				
					U.loadAjax({
					"webservices": "http://ajaxv2.myspace.cn/_Common/AjaxService/UserHomeSvc.svc/json/CheckLogin?friendId=" + ruserid + "&r=" + Math.random(),
					"method": "get",
					"values": "",
					"contentType": "application/json"
				}, actionRT);
				function actionRT(asData){
					var loData = U.json2Obj(asData);
					if (loData.Result == 1) {
								var titleContent ="回复微博客";
				if (rusername!="")
					titleContent ="回复"+rusername+"微博客";
				var loPopMBlogLayer = PopMBlogLayer({
					popLayer: document.getElementById("mblogSendLayer"),
					topDiff: -100,
					mbType: 1,
					mbRId: rId,
					mbUserId: ruserid,
					mbUserName: rusername,
					mbContentLayer:document.getElementById("mb_mblogcontent"),
					mbContent: null,
					mbTitleLayer:document.getElementById("mBlogSpanTitle"),
					mbTitle:titleContent,
					mbRTString:""			
				});
				var btnCloseMBlogSend = document.getElementById("btnCloseMBlogSend");
				if (btnCloseMBlogSend) 
					btnCloseMBlogSend.onclick = loPopMBlogLayer.hide;
				var btnUpdateMBlogSend = document.getElementById("btnUpdateMBlogSend");
				if (btnUpdateMBlogSend) 
					btnUpdateMBlogSend.onclick = loPopMBlogLayer.updateMBlog;		
				
				loPopMBlogLayer.show();
					}
					else if (loData.Result == 2){
							location.href = loData.Msg;
					}
					else{
					  alert("系统错误!");
					}
				}				
			}
		}
	}
	
	function PopMBlogLayer(aoConf){
		var obj = {};
		obj.dom = {
			popLayer: aoConf.popLayer,
			mask: null,
			obstacles: null
		}
		obj.event = {};
		
		obj.ctrl = {};
		obj.ctrl.obstacleTags = ["select", "object", "embed"];
		if (aoConf.hideObj) {
			obj.ctrl.obstacleTags = aoConf.hideObj;
		}
		obj.ctrl.isShowObstacles = true;
		if (typeof(aoConf.isShowObstacles) != "undefined") {
			obj.ctrl.isShowObstacles = aoConf.isShowObstacles;
		}
		obj.ctrl.isShow = false;
		obj.ctrl.topDiff = aoConf.topDiff || 0;
		
		
		initLayerContent();
		
		obj.resize = resize;
		obj.show = show;
		obj.hide = hide;
		obj.updateMBlog = updateMBlog;
		
		return obj;
		
		function updateMBlog(){
			var content = aoConf.mbContentLayer.value.replace(/<\/?[^>]*>/g, '');
			if (content.length == 0) {
				alert("哎呀，还没写微博客呢");
				return false;
			}
			if (content.length > 140) {
				alert("不好意思哦~ 微博客太长了，最多只能有140个字哦");
				return false;
			}
			
			U.loadAjax({
				"webservices": "http://mblog.myspace.cn/do_oscar.php",
				"method": "post",
				"values": "[\"add\",\"" + encodeURIComponent(content) + "\",\"" + aoConf.mbRId + "\",\"" + aoConf.mbUserId + "\",\"" + encodeURIComponent(aoConf.mbRTString) + "\",\"\"]",
				"contentType": "application/json"
			}, action, "mblog");
			
			function action(asData){
				var loData = U.json2Obj(asData);
				switch (loData.add) {
					case 1:
						 setTimeout('window.location.reload()',500);
						break;
					case 0:
						alert("发送失败!");
						break;
					case -1:
						alert("未登录或者用户不存在!");
						break;
					case -2:
						alert("您的内容可能包含脚本或网页代码被过滤,发表内容为空!");
						break;
					case -3:
						alert("内容中包含非法词!");
						break;
					case -4:
						alert("内部错误,数据结构错误!");
						break;
					case -5:
						alert("对方阻止你的回复!");
						break;
					case -6:
						alert("用户在黑名单暂时不能发送信息!");
						break;
					case -7:
						alert("请不要发布政治敏感色情商业广告或其他不恰当内容!");
						break;
					case -8:
						alert("每天每人最多发送200条");
						break;
					case -9:
						alert("每天每人最多回复200条!");
						break;
					case -10:
						alert("微博客发送间隔至少5秒");
						break;
					case -11:
						alert("对不起，由于您发布的内容中可能包含有政治敏感色情商业广告或其他不恰当内容，要通过网站审核后才会发布，请耐心等待!");
						break;
					case -12:
						alert("对不起，系统内部错误，我们会尽快修复谢谢!");
						break;
					case 2:
						alert("对不起，您连续发了2条同样的消息!");
						break;
					default:
						alert("[" + loData.add + "]更新失败!");
						break;
				}
			}
		}
		function initLayerContent(){
			if (aoConf.mbTitleLayer && aoConf.mbTitle) 
				aoConf.mbTitleLayer.innerHTML = aoConf.mbTitle;
			
			var wordCountSpan = U.byClass("count", aoConf.popLayer, "span")[0];
			if (wordCountSpan) {
				if (aoConf.mbContentLayer) {
					if (aoConf.mbType == 2) {
						var replaceCount = aoConf.mbContent.replace(/^\s+|\s+$/g, "");//trim;						
						if (replaceCount == "" || replaceCount == " ") 
							aoConf.mbContentLayer.value = aoConf.mbImageSummary;
						else 
							aoConf.mbContentLayer.value = aoConf.mbContent;
					}
					else {
						aoConf.mbContentLayer.value = "";
					}
					
					var wordLeft = 140 - aoConf.mbContentLayer.value.length;
					if (wordLeft > 0) {
						wordCountSpan.innerHTML = "可输入<strong>" + wordLeft + "</strong>个字";
					}
					else {
						wordCountSpan.innerHTML = '已经达到最大长度';
					}
				}
			}
		}
		
		
		function show(){
			if (obj.ctrl.isShowObstacles) {
				hideObstacles();
			}
			if (!obj.dom.mask) {
				obj.dom.mask = document.createElement("div");
				obj.dom.mask.style.cssText = "position:absolute;left:0;top:0; z-index:10;background-color:black; opacity:0.5; filter:Alpha(opacity=50);";
				document.body.insertBefore(obj.dom.mask, document.body.firstChild);
			}
			else {
				obj.dom.mask.style.display = "block";
			}
			
			obj.dom.popLayer.style.display = "block";
			obj.ctrl.isShow = true;
			
			obj.resize();
			if (obj.event.show) {
				obj.event.show();
			}
		}
		function hide(){
			if (obj.dom.mask) {
				obj.dom.mask.style.display = "none";
			}
			obj.dom.popLayer.style.display = "none";
			if (obj.ctrl.isShowObstacles) {
				showObstacles();
			}
			obj.ctrl.isShow = false;
			if (obj.event.hide) {
				obj.event.hide();
			}
		}
		function resize(){
			if (!obj.ctrl.isShow) {
				return;
			}
			var liPageWidth = getPageSize().x;
			var liPageHeight = getPageSize().y;
			var liViewWidth = getViewPort().x;
			var liViewHeight = getViewPort().y;
			var liMaxHeight = liPageHeight > liViewHeight ? liPageHeight : liViewHeight;
			if (obj.dom.mask) {
				obj.dom.mask.style.width = liPageWidth + "px";
				obj.dom.mask.style.height = liMaxHeight + "px";
			}
			//fix profile bug in ie6 html{-overflow:hidden;}
			if (navigator.userAgent.indexOf("IE") != -1) {
				document.documentElement.style.overflow = "auto";
				document.body.style.height = "auto";
			}
			obj.dom.popLayer.style.left = Math.round((liViewWidth - obj.dom.popLayer.offsetWidth) / 2) + getScroll().x + "px";
			obj.dom.popLayer.style.top = Math.round((liViewHeight - obj.dom.popLayer.offsetHeight) / 2) + getScroll().y + obj.ctrl.topDiff + "px";
		}
		
		function showObstacles(){
			for (var i = 0; i < obj.dom.obstacles.length; i++) {
				obj.dom.obstacles[i].style.visibility = "";
			}
		}
		function hideObstacles(){
			obj.dom.obstacles = filterObstacles();
			for (var i = 0; i < obj.dom.obstacles.length; i++) {
				obj.dom.obstacles[i].style.visibility = "hidden";
			}
		}
		function filterObstacles(){
			var lxFilter = [];
			var lxObstaclesAll = getObstacles(document);
			var lxObstaclesInside = getObstacles(obj.dom.popLayer);
			for (var i = 0; i < lxObstaclesAll.length; i++) {
				var leObstacle = lxObstaclesAll[i];
				var flag = true;
				for (var j = 0; j < lxObstaclesInside.length; j++) {
					if (leObstacle == lxObstaclesInside[j]) {
						flag = false;
						break;
					}
				}
				if (flag == true && leObstacle.style.visibility != "hidden") {
					lxFilter.push(leObstacle);
				}
			}
			return lxFilter;
			function getObstacles(aeNode){
				var lxObstacles = [];
				for (var i = 0; i < obj.ctrl.obstacleTags.length; i++) {
					var lxNode = aeNode.getElementsByTagName(obj.ctrl.obstacleTags[i]);
					for (var j = 0; j < lxNode.length; j++) {
						lxObstacles.push(lxNode[j]);
					}
				}
				return lxObstacles;
			}
		}
		function getScroll(){
			if (navigator.userAgent.indexOf("IE") != -1) {
				return {
					x: document.documentElement.scrollLeft || document.body.scrollLeft,
					y: document.documentElement.scrollTop || document.body.scrollTop
				};
			}
			else {
				return {
					x: self.pageXOffset,
					y: self.pageYOffset
				};
			}
		}
		function getPageSize(){
			var lsObj;
			if (navigator.userAgent.indexOf("IE") != -1) {
				lsObj = "documentElement";
			}
			else {
				lsObj = "body";
			}
			return {
				x: document[lsObj].scrollWidth,
				y: document[lsObj].scrollHeight
			};
		}
		function getViewPort(){
			if (navigator.userAgent.indexOf("IE") != -1) {
				return {
					x: document.documentElement.clientWidth || document.body.clientWidth,
					y: document.documentElement.clientHeight || document.body.clientHeight
				};
			}
			else {
				return {
					x: self.innerWidth,
					y: self.innerHeight
				};
			}
		}
	}
	

	function MoreFeeds(asWrapperId){	
	    var leWrapper = document.getElementById(asWrapperId);
	    if(!leWrapper){
	        return false;
	    }
	    var ctrl = {
	    	cur_num:1
	    };
	    var dom = {
	        list:leWrapper.getElementsByTagName("ul")[0],
	        add:document.getElementById("prf_more_feeds_btn")
	    };
	    listen();
	    
	    function listen(){
	        U.addEvent(dom.add,"click",onClickBtn);
	    }
	    function onClickBtn(){ 
	    	var lsUrl = "http://ajaxv2.myspace.cn/_common/AjaxService/UserHomeSvc.svc/json/getprofilefeed?userId="+MO_MySpaceContext.DisplayFriendId+"&pageNumber="+ctrl.cur_num+"&count=10&r="+Math.random();
	        U.loadAjax({		        	
	            "webservices":lsUrl,
	            "method":"get",
	            "values":"",
	            "contentType":"application/json"
	        },action);
            function action(asData){
            	 var loData = U.json2Obj(asData);
            	 if(loData.Result==0){
            	 	updateUI(loData.Message);
            	 }else if(loData.Result==2){
            	 	updateUI('<dd><div><center style="padding:20px;font-size:18px;color:#999;">没有更多可显示的内容了</center></div></dd>');
            	 	dom.add.parentNode.style.display="none";
            	 }            	  
            }
	    }
	    function updateUI(asHTML){
	        var leNode = document.createElement("span");
	        leNode.innerHTML = asHTML;
			if (!dom.list) {return false}
	        dom.list.appendChild(leNode);
	        
	        changeMoreBtn();
			HomeMBlogs(asWrapperId);
	    }
	    function changeMoreBtn(){
	        ctrl.cur_num++;
	        //dom.add.style.display = "none";
	    }
	}


	function FeedComments(asWrapperId){
	    var leWrapper = document.getElementById(asWrapperId);
	    if(!leWrapper || typeof(JS_FeedComment)=="undefined"|| JS_EnableFeedComments == 0){
	        return false;
	    }
	    var JS_Context = {
	        "UserId":MO_MySpaceContext.UserId,
		    "DisplayName":MO_MySpaceContext.UserName,
		    "Image":MO_MySpaceContext.UserImage
	    };
	    
	    var ctrl = {
	        cssComment:"feed_comments",
	        maxCount:20
	    };
	    var lsReplyView = '<a class="reply_link" href="javascript:void(0)">回复</a>';
	    if(JS_Context.UserId<=0){
	    	lsReplyView = "";
	    }
	    var view = {
	        comment:[
	            '<div class="feed_comment" uid="{K:UserId}" uname="{K:DisplayName}" cid="{K:CommentId}">',
	            '    <a class="del_comment" href="javascript:void(0)" {K:DelLink}></a>',
	            '    <div class="img_seg">',
	            '        <a href="http://www.myspace.cn/{K:UserId}" target="_blank">',
	            '        <img title="{K:DisplayName}" alt="{K:DisplayName}" src="{K:Image}" class="avatar"/>',
	            '        </a>',
	            '    </div>',
	            '    <div class="info_seg">',
	            '        <div class="comment_nick_name">',
	            '            <a href="http://www.myspace.cn/{K:UserId}" target="_blank">{K:DisplayName}</a>',
	            '            <span class="comment_time">{K:Date}</span>',
	            '        </div>',
	            '        <div class="comment_text">{K:Content}',lsReplyView,'</div>',
	            '    </div>',
	            '</div>'].join(""),	    	
	        reply:[
	                '<div class="feed_comment feed_reply">',
	                '    <div class="img_seg">',
	                '        <img title="{K:DisplayName}" alt="{K:DisplayName}" src="{K:Image}" class="avatar"/>',
	                '    </div>    ',
	                '    <textarea>添加回复</textarea>',
	                '    <div class="opt">',
	                '        <span class="word_count">140/140</span>',
	                '        <a href="javascript:void(0)" tabindex="12" class="cnViBtnBlue feed_comment_submit"><b><i>回复</i></b></a>',
	                '    </div>',
	                '</div>'].join("")
	    };
	    get_comments();
	    
	    function get_comments(){
	        var lxFeedComment = [];
	        for(var i=0;i<JS_FeedComment.length;i++){
	            var loComment = JS_FeedComment[i];
	            var lsUniqueId = [loComment["FeedTypeId"],loComment["ParentPrimaryId"],loComment["FeedOwnerId"]].join("_");
	            if(loComment["ShareType"]&&loComment["ShareUserId"]){
	            	lsUniqueId = lsUniqueId +"_"+loComment["ShareType"]+"_"+loComment["ShareUserId"];
	            }
	            lxFeedComment.push(lsUniqueId);
	        }
	             
	        U.loadAjax({
	            "webservices":"http://ajaxv2.myspace.cn/_Common/AjaxService/CommonCommentSvc.svc/json/GetFeedCommentAggrs?r="+Math.random()+"&feed="+lxFeedComment.join(","),
	            "method":"get",
	            "values":"",
	            "contentType":"application/x-www-form-urlencoded"
	        },action);
	      /*      
	    var loResp = {
	        "result":1,
	        "msg":"",
	        "comments":[
	                    {
	                        "FeedTypeId":1031,
	                        "ParentPrimaryId":1031,
	                        "FeedOwnerId":1031,                    
	                        "total":11,
	                        "first":{
	                                    "CommentId":3333,
	                                    "UserId":1300053586,
	                                    "DisplayName":"小豆冰棍",
	                                    "Date":"刚刚",
	                                    "Content":"新手上路，请多关照",
	                                    "Image":"http://b1.ac-images.cdnmyspace.cn/cnimages01/1/w_046ccb7c29269a51b94da42122c1244b.jpg"
	                                },
	                        "last":{
	                                    "CommentId":44444,
	                                    "UserId":1300053586,
	                                    "DisplayName":"小豆冰棍",
	                                    "Date":"刚刚",
	                                    "Content":"新手上路，请多关照",
	                                    "Image":"http://b1.ac-images.cdnmyspace.cn/cnimages01/1/w_046ccb7c29269a51b94da42122c1244b.jpg"
	                                }
	                    },
	                    {
	                        "FeedTypeId":1041,
	                        "ParentPrimaryId":1041,
	                        "FeedOwnerId":1041,                    
	                        "total":2,
	                        "first":{
	                                    "CommentId":55555,
	                                    "UserId":1300053586,
	                                    "DisplayName":"小豆冰棍",
	                                    "Date":"刚刚",
	                                    "Content":"新手上路，请多关照1",
	                                    "Image":"http://b1.ac-images.cdnmyspace.cn/cnimages01/1/w_046ccb7c29269a51b94da42122c1244b.jpg"
	                                },
	                        "last":{
	                                    "CommentId":66666,
	                                    "UserId":1300053586,
	                                    "DisplayName":"小豆冰棍",
	                                    "Date":"刚刚",
	                                    "Content":"新手上路，请多关照2",
	                                    "Image":"http://b1.ac-images.cdnmyspace.cn/cnimages01/1/w_046ccb7c29269a51b94da42122c1244b.jpg"
	                                }
	                    },
	                    {
	                        "FeedTypeId":1401,
	                        "ParentPrimaryId":404730125,
	                        "FeedOwnerId":1310695941,                    
	                        "total":10,
	                        "first":{
	                                    "CommentId":55555,
	                                    "UserId":1300053586,
	                                    "DisplayName":"小豆冰棍",
	                                    "Date":"刚刚",
	                                    "Content":"新手上路，请多关照1",
	                                    "Image":"http://b1.ac-images.cdnmyspace.cn/cnimages01/1/w_046ccb7c29269a51b94da42122c1244b.jpg"
	                                },
	                        "last":{
	                                    "CommentId":66666,
	                                    "UserId":1310695941,
	                                    "DisplayName":"小豆冰棍",
	                                    "Date":"刚刚",
	                                    "Content":"新手上路，请多关照2",
	                                    "Image":"http://b1.ac-images.cdnmyspace.cn/cnimages01/1/w_046ccb7c29269a51b94da42122c1244b.jpg"
	                                }
	                    }                    
	                ]
	        };
	        action(loResp);
	          */   
	        function action(asData){
	            var loData = U.json2Obj(asData);
	            if(loData.result==1){
	                init_comments(loData.comments);
	            }else if(loData.result==2){
	                //location.href = loData.msg;
	            }else{
	               //alert(loData.msg);
	            }
	        }
	        
	    }
	    function init_comments(axData){
	        if(!axData){
	            axData=[];
	        }
	        for(var i=0;i<axData.length;i++){
	            var loData = axData[i];
	            var lsFeedId  = "fc_"+[loData["FeedTypeId"],loData["ParentPrimaryId"],loData["FeedOwnerId"]].join("_");
	            if(loData["ShareType"]&&loData["ShareUserId"]){
	            	lsFeedId = lsFeedId +"_"+loData["ShareType"]+"_"+loData["ShareUserId"];            	
	            }	            
	            var leFeed = document.getElementById(lsFeedId);
	            if(!leFeed){
	                continue;
	            }
	            var leTimeNode = leFeed.getElementsByTagName("i")[0];
	            
	            var leReplyLink = document.createElement("a");
	            leReplyLink.href = "javascript:void(0)";
	            leReplyLink.innerHTML = "收起回复";
	            leFeed.insertBefore(leReplyLink,leTimeNode.nextSibling);	            	            
	            
	            if(JS_Context.UserId==loData.first.UserId || JS_Context.UserId==loData["FeedOwnerId"]){
	                loData.first.DelLink = 'style="display:block;"';
	            }
	            if(JS_Context.UserId==loData.last.UserId || JS_Context.UserId==loData["FeedOwnerId"]){
	                loData.last.DelLink = 'style="display:block;"';
	            }	            
	            var lsComments = "";
	            if(loData.total<1){
	                                    
	            }else if(loData.total<2){
	            	lsComments = U.smartView(view.comment,loData.first);
	            }else if(loData.total<3){
	            	lsComments = U.smartView(view.comment,[loData.first,loData.last]);
	            }else if(loData.total<=ctrl.maxCount){
	            	lsComments = [U.smartView(view.comment,loData.first),'<div class="feed_comment"><a class="show_all_comment" href="javascript:void(0)" pn="1" ps="',loData.total,'" total="',loData.total,'" >显示全部',loData.total,'条</a></div>',U.smartView(view.comment,loData.last)].join("");
	            }else{
	            	lsComments = [U.smartView(view.comment,loData.first),'<div class="feed_comment"><a class="show_all_comment" href="javascript:void(0)" pn="1" ps="',ctrl.maxCount,'" total="',loData.total,'" >显示另外',ctrl.maxCount,'条</a></div>',U.smartView(view.comment,loData.last)].join("");
	            }
	            var leComment = document.createElement("div");
	            leComment.className = ctrl.cssComment;
	            if(JS_Context.UserId<=0){
	            	leComment.innerHTML = lsComments;
	            }else{
		            leComment.innerHTML = [lsComments,U.smartView(view.reply,JS_Context)].join("");
	            }
	            leFeed.appendChild(leComment);
	            FeedComment(leComment);
	            
	            U.addEvent(leReplyLink,"click",onClickFeedReply(leReplyLink,leComment,loData.total));
	        }
	    }
	    
	    function onClickFeedReply(aeLink,aeComment,aiCount){
	        return function(){
	            if(aeComment.style.display == "none"){
	                aeComment.style.display = "block";
	                aeLink.innerHTML = "收起回复";
	                
	                var leTextarea = aeComment.getElementsByTagName("textarea")[0];
	                if(leTextarea){
		                leTextarea.focus();	                	
	                }
	            }else{
	                aeComment.style.display = "none";
	                aeLink.innerHTML = (aiCount).toString()+"条回复";
	            }	    		
	        }
	    }	    	    		
	}
	function FeedComment(aeWrapper){	
	    var leWrapper = aeWrapper;
	    var JS_Context = {
	        "UserId":MO_MySpaceContext.UserId,
		    "DisplayName":MO_MySpaceContext.UserName,
		    "Image":MO_MySpaceContext.UserImage
	    };	    
	    var dom = {
	        reply_links:U.byClass("reply_link",leWrapper),
	        del_links:U.byClass("del_comment",leWrapper),
	        show_all_links:U.byClass("show_all_comment",leWrapper,"a"),
	        count:U.byClass("word_count",leWrapper,"span")[0],
	        textarea:leWrapper.getElementsByTagName("textarea")[0],
	        submit:U.byClass("feed_comment_submit",leWrapper,"a")[0],
	        getReplyParent:function(aeNode){
	            return aeNode.parentNode.parentNode.parentNode;
	        },	        
	        getTextareaParent:function(aeNode){
	            return aeNode.parentNode;
	        },
	        getDelParent:function(aeNode){
	            return aeNode.parentNode;
	        }         
	        
	    };
	    var ctrl = {
	        tip:"添加回复",
	        cssPublish:"publish_reply",
	        reply_to:-1,
	        maxLength:140,
	        leftLength:this.maxLength
	    };
	    var lsReplyView = '<a class="reply_link" href="javascript:void(0)">回复</a>';
	    if(JS_Context.UserId<=0){
	    	lsReplyView = "";
	    }	    
	    var view = {
	        comment:[
	            '<div class="feed_comment" uid="{K:UserId}" uname="{K:DisplayName}" cid="{K:CommentId}">',
	            '    <a class="del_comment" href="javascript:void(0)" {K:DelLink}></a>',
	            '    <div class="img_seg">',
	            '        <a href="http://www.myspace.cn/{K:UserId}" target="_blank">',
	            '        <img title="{K:DisplayName}" alt="{K:DisplayName}" src="{K:Image}" class="avatar"/>',
	            '        </a>',
	            '    </div>',
	            '    <div class="info_seg">',
	            '        <div class="comment_nick_name">',
	            '            <a href="http://www.myspace.cn/{K:UserId}" target="_blank">{K:DisplayName}</a>',
	            '            <span class="comment_time">{K:Date}</span>',
	            '        </div>',
	            '        <div class="comment_text">{K:Content}',lsReplyView,'</div>',
	            '    </div>',
	            '</div>'].join("")
	    };
	    
	    var liLeftWord = ctrl.maxLength;
	    
	    listen();
	    
	    function listen(){
	        U.addEvent(dom.textarea,"focus",onFocusTextarea);
	        U.addEvent(dom.textarea, "keyup", caculateWord);
	        U.addEvent(dom.textarea, "paste", caculateWord);        
	        U.addEvent(dom.textarea,"blur",onBlurTextarea);
	        U.addEvent(dom.submit,"click",publish_comment);
	        
	        for(var i=0;i<dom.reply_links.length;i++){
	             U.addEvent(dom.reply_links[i],"click",reply_comment);
	        }
	        for(var i=0;i<dom.del_links.length;i++){
	             U.addEvent(dom.del_links[i],"click",delete_comment);
	        }            
	        for(var i=0;i<dom.show_all_links.length;i++){
	             U.addEvent(dom.show_all_links[i],"click",show_more_comments);
	        }            
	    }
	    function caculateWord(){
	        ctrl.leftLength = ctrl.maxLength - dom.textarea.value.length;
	        if (ctrl.leftLength > 0) {
	            dom.count.innerHTML = ctrl.leftLength + "/" + ctrl.maxLength;
	        } else {
	            setTimeout(function(){dom.textarea.value = dom.textarea.value.substring(0, ctrl.maxLength);},200);
	            dom.count.innerHTML = ctrl.maxLength + "/" + ctrl.maxLength;
	        }
	    }	    
	    
	    function reply_comment(event){
	        event = event || window.event;
	        var leTarget = event.srcElement || event.target;
	        var leUnit = dom.getReplyParent(leTarget);
	        
	        var loUser = {
	            UserId:leUnit.getAttribute("uid"),
	            DisplayName:leUnit.getAttribute("uname")
	        };
	        ctrl.reply_to = loUser.UserId;
	        
	        setTimeout(function(){
	            dom.textarea.focus();
	            dom.textarea.value = "回复"+loUser.DisplayName+": ";	        	
	        },200);
	        dom.textarea.setAttribute("rid",leUnit.getAttribute("cid"));
	        caculateWord();
	    }
	    
	    function onFocusTextarea(){
	        if(dom.textarea.value == ctrl.tip){
	            dom.textarea.value = "";
	        }
	        U.addClass(dom.getTextareaParent(dom.textarea),ctrl.cssPublish);
	        caculateWord();
	    }
	    function onBlurTextarea(){
	        setTimeout(function(){
	            if(U.trim(dom.textarea.value)==""){
	                dom.textarea.value = ctrl.tip;
	            }	        	
	            U.removeClass(dom.getTextareaParent(dom.textarea),ctrl.cssPublish);	        	
	        },200);
	    }
	    function delete_comment(event){
	        event = event || window.event;
	        var leTarget = event.srcElement || event.target;
	        var leUnit = dom.getDelParent(leTarget); 
	        if(!confirm("确认要删除这条回复吗？")){
	            return;
	        }
	        U.loadAjax({
	            "webservices":"http://ajaxv2.myspace.cn/_Common/AjaxService/CommonCommentSvc.svc/json/DeleteCommonComment",
	            "values":"CommentId="+leUnit.getAttribute("cid"),
	            "contentType":"application/x-www-form-urlencoded"
	        },action);
	
	        function action(asData){
	            var loData = U.json2Obj(asData);
	            if(loData.result==1){
	               leUnit.parentNode.removeChild(leUnit);
	            }else if(loData.result==2){
	                location.href = loData.msg;
	            }else{
	                alert(loData.msg);
	            }
	        }
	
	    }
	    function publish_comment(){
	        var lxId = leWrapper.parentNode.id.split("_");
	       	if(U.trim(dom.textarea.value)==""){
	       		alert("您还没有输入评论内容！");
	       		return;
	       	}
	        U.loadAjax({
	            "webservices":"http://ajaxv2.myspace.cn/_Common/AjaxService/CommonCommentSvc.svc/json/CreateFeedComment",
	            "values":["ReCommentId=",dom.textarea.getAttribute("rid"),"&Content=",encodeURIComponent(dom.textarea.value),"&FeedTypeId=",lxId[1],"&ParentPrimaryId=",lxId[2],"&FeedOwnerId=",lxId[3]].join(""),
	            "contentType":"application/x-www-form-urlencoded"
	        },action);
	         /*
	        var loResp = {
	                        "result":1,
	                        "msg":"",
	                        "comment":{
	                                    "CommentId":3333,
	                                    "UserId":1300053586,
	                                    "DisplayName":"小豆冰棍",
	                                    "Date":"刚刚",
	                                    "Content":"新手上路，请多关照",
	                                    "Image":"http://b1.ac-images.cdnmyspace.cn/cnimages01/1/w_046ccb7c29269a51b94da42122c1244b.jpg"
	                                }
	                    };	        
	        action(loResp);
	        * */
	        function action(asData){
	            var loData = U.json2Obj(asData);
	            if(loData.result==1){
	               insertComment(loData.comment);
	            }else if(loData.result==2){
	                location.href = loData.msg;
	            }else{
	                alert(loData.msg);
	            }
	        }
	        function insertComment(aoData){
	            var loData = aoData;
	            var leNewUnit = document.createElement("div");
	            loData.DelLink='style="display:block;"';
	            leNewUnit.innerHTML = U.smartView(view.comment,loData);
	            
	            var leReplyUnit = dom.getTextareaParent(dom.textarea);
	            leReplyUnit.parentNode.insertBefore(leNewUnit,leReplyUnit);
	            
	            var leNewReply = U.byClass("reply_link",leNewUnit)[0];
	            var leNewDel = U.byClass("del_comment",leNewUnit)[0];        
	            U.addEvent(leNewReply,"click",reply_comment);
	            U.addEvent(leNewDel,"click",delete_comment);
	            
	            dom.textarea.setAttribute("rid",0);
	            dom.textarea.value=ctrl.tip;
	        }     
	    } 
	    function show_more_comments(event){
	        event = event || window.event;
	        var leTarget = event.srcElement || event.target;
	        
	        var liPageNum = parseInt(leTarget.getAttribute("pn"));
	        var liPageSize = parseInt(leTarget.getAttribute("ps"));
	        var liTotal = parseInt(leTarget.getAttribute("total"));
	        var lbFirstPage = (liPageNum==1);
	        var lbLastPage = (liPageNum==Math.ceil(liTotal/liPageSize));        
	        var lxId = leWrapper.parentNode.id.split("_");
	        var liReqPageSize = liPageSize;   
	        
	        U.loadAjax({
	            "webservices":["http://ajaxv2.myspace.cn/_Common/AjaxService/CommonCommentSvc.svc/json/GetPagedFeedComment?","PageSize=",liPageSize,"&PageNum=",liPageNum,"&FeedTypeId=",lxId[1],"&ParentPrimaryId=",lxId[2],"&FeedOwnerId=",lxId[3],"&r=",Math.random()].join(""),
	            "method":"get",
	            "values":"",
	            "contentType":"application/x-www-form-urlencoded"
	        },action);
	        
	       /*
	        var lxData = [
	            {
	                "CommentId":555551,
	                "UserId":1300053586,
	                "DisplayName":"小豆冰棍",
	                "Date":"刚刚",
	                "Content":"新手上路，请多关照",
	                "Image":"http://b1.ac-images.cdnmyspace.cn/cnimages01/1/w_046ccb7c29269a51b94da42122c1244b.jpg"
	            },
	             {
	                "CommentId":555552,
	                "UserId":1300053586,
	                "DisplayName":"小豆冰棍",
	                "Date":"刚刚",
	                "Content":"新手上路，请多关照",
	                "Image":"http://b1.ac-images.cdnmyspace.cn/cnimages01/1/w_046ccb7c29269a51b94da42122c1244b.jpg"
	            },
	            {
	                "CommentId":555553,
	                "UserId":1300053586,
	                "DisplayName":"小豆冰棍",
	                "Date":"刚刚",
	                "Content":"新手上路，请多关照",
	                "Image":"http://b1.ac-images.cdnmyspace.cn/cnimages01/1/w_046ccb7c29269a51b94da42122c1244b.jpg"
	            },
	            {
	                "CommentId":555554,
	                "UserId":1300053586,
	                "DisplayName":"小豆冰棍",
	                "Date":"刚刚",
	                "Content":"新手上路，请多关照",
	                "Image":"http://b1.ac-images.cdnmyspace.cn/cnimages01/1/w_046ccb7c29269a51b94da42122c1244b.jpg"
	            }
	        ];*/
	         
	        function action(asData){
	            var loData = U.json2Obj(asData);
	            var lxData = loData.comments;
	            for(var i=0;i<lxData.length;i++){
	                if(JS_Context.UserId==lxData[i].UserId || JS_Context.UserId==lxId[3]){
	                    lxData[i].DelLink = 'style="display:block;"';
	                }
	            }
	            if(lbFirstPage){
	                lxData.shift();
	            }
	            if(lbLastPage){
	                lxData.pop();
	            }	        
	            
	            var leNewUnit = document.createElement("div");
	            leNewUnit.innerHTML = U.smartView(view.comment,lxData);
	            
	            
	            var liLeftRecord = liTotal - liPageNum * liPageSize;	        
	            
	            var leShowAllUnit = leTarget.parentNode;	        
	            if(lbLastPage || liLeftRecord==1){
	                leShowAllUnit.parentNode.replaceChild(leNewUnit,leShowAllUnit);
	            }else{
	                if(liPageSize>=liLeftRecord){
	                    leTarget.innerHTML = "显示最后"+(liLeftRecord-1)+"条";	        		
	                }
	                leTarget.setAttribute("pn",liPageNum+1);
	                leShowAllUnit.parentNode.insertBefore(leNewUnit,leShowAllUnit);
	            }
	            
	    
	            var lxNewReply = U.byClass("reply_link",leNewUnit);
	            var lxNewDel = U.byClass("del_comment",leNewUnit); 
	            for(var i=0;i<lxNewReply.length;i++){
	                 U.addEvent(lxNewReply[i],"click",reply_comment);
	            }
	            for(var i=0;i<lxNewDel.length;i++){
	                 U.addEvent(lxNewDel[i],"click",delete_comment);
	            }				
	        }
	    }
	}
	function templateShow(asWrapperId){
		var leWrapper = document.getElementById(asWrapperId);
		if(!leWrapper){
			return false;
		}
		var dom = {
			items:U.byClass("panel",leWrapper,"div"),
			prev:leWrapper.getElementsByTagName("a")[0],
			next:leWrapper.getElementsByTagName("a")[1]
		};
		var ctrl = {
			curPanel:0,
			curClassName:"curPanel",
			panelLen:dom.items.length
		};
		listen();
		
		
		function listen(){
			U.addEvent(dom.prev,"click",function(){go("left");});
			U.addEvent(dom.next,"click",function(){go("right");});
		}
		function go(asDirection){
			U.removeClass(dom.items[ctrl.curPanel],ctrl.curClassName);
			if("left"==asDirection){
				if(--ctrl.curPanel<0){
					ctrl.curPanel = ctrl.panelLen - 1;
				}				
			}else{
				if(++ctrl.curPanel>=ctrl.panelLen){
					ctrl.curPanel = 0;
				}				
			}
			U.addClass(dom.items[ctrl.curPanel],ctrl.curClassName);
		}	
	}
	
	function show_delete_link(asWrapperId){
		var leWrapper = document.getElementById(asWrapperId);
		if(!leWrapper){
			return false;
		}		
		var lxLink=U.byClass("delete_comment_link",leWrapper,"a");
		for(var i=0;i<lxLink.length;i++){
			var lsUid=lxLink[i].getAttribute("uid");
			if(lsUid==MO_MySpaceContext.UserId || MO_MySpaceContext.DisplayFriendId==MO_MySpaceContext.UserId){
				lxLink[i].style.visibility="visible";
			}
		}
	}
	
	function userRank(){
		var leTrigger = document.getElementById("prf_rank_star");
		var leDetail = document.getElementById("prf_rank_detail");
		if(leTrigger&&leDetail){
			leTrigger.onmouseover = function(){
				leDetail.style.display = "block";
			}
			leTrigger.onmouseout = function(){
				leDetail.style.display = "none";
			}			
		}
	}
	function publishComment(asWrapperId){
		// Client init //
		var leWrapper = document.getElementById(asWrapperId);
		if(!leWrapper){
			return false;
		}
		var timer = null;
		var lsDefVal = "";
		var dom = {
				feed_wrapper:document.getElementById("prf_feed_wrapper"),
				status:leWrapper.getElementsByTagName("textarea")[0],
				tip:U.byClass("tip",leWrapper,"div")[0],
				submit:U.byClass("cnViBtnBlue",leWrapper,"a")[0]
			};
		listen();
		// Client init //

		function listen(){
			U.addEvent(dom.submit,"click",updateStatus);
			U.addEvent(dom.status,"focus",checkStatus);
		}
		function checkStatus(){
			var lsUrl = "http://ajax.myspace.cn/_Common/AjaxService/profileservice.asmx/GetSendCommentStatusForReply";
			var loRequest = {
				"webservices": lsUrl,
				"contentType":"application/json",
				"values": ['{"receipantId":',MO_MySpaceContext.DisplayFriendId,',"type":"profile"}'].join("")
			}
			U.loadAjax(loRequest,function(asData){
				var loResp=U.json2Obj(asData);
				if(loResp.Result == 0){
				}else{
					if(loResp.Result == 2){
						location.href = loResp.RedirectUrl;
					}else if(loResp.Result == 1){
						dom.tip.style.display = "block";
						dom.tip.innerHTML = "<div>"+loResp.Message+"</div>";
						clearTimeout(timer);
						timer = setTimeout(function(){
							dom.tip.style.display = "none";
						},3000);							
					}
				}
			},"ajax");						
		}
		function updateStatus(){
			var lsUrl = "http://ajax.myspace.cn/_Common/AjaxService/profileservice.asmx/ProfilePostComment";
			var lsVal = dom.status.value.substring(0, 140);
			var lsPostContent=dom.status.value.split("\r\n").join("<br />").split("\n").join("<br />");
			var loRequest={
				"webservices": lsUrl,
				"contentType":"application/json",
				"values":['{"msg":"',encodeURIComponent(lsPostContent),'","picUrl":"","receipantId":',MO_MySpaceContext.DisplayFriendId,',"type":"profile","captcha":""}'].join("")
			};
			if(validateStatus(lsVal)){
				U.loadAjax(loRequest,function(asData){
						var loData=U.json2Obj(asData);						
						var lsTip = "<div>发表留言失败</div>";
						if(loData.Result == 0){
							//服务端返回的内容中有<br />标签
							if(loData.CommentBody.split("<br />").join("").split("\r\n").join("")==lsVal.split("\n").join("")){								
								lsTip = "<div>发表留言成功</div>";
							}else{
								lsTip = "<div>发表留言成功，但非法词或标签可能已经被过滤</div>";
							}							
							updateUI(loData);
						}else if(loData.Result == 1){
							lsTip = "<div>"+loData.Message+"</div>";
						}else if(loData.Result == 2){
							lsTip = "<div>"+loData.Message+"</div>";
							location.href=loData.RedirectUrl;
						}
						

						
						dom.status.value = "";
						dom.tip.style.display = "block";
						dom.tip.innerHTML = lsTip;
						clearTimeout(timer);
						timer = setTimeout(function(){
							dom.tip.style.display = "none";
						},3000);															
					},"ajax");
			}
		}
		function updateUI(aoData){
			var loData=aoData;
			var lsHTML=[
					'<div class="icon"><img src="{K:UserImage}"/></div>',
					'<a class="aName" target="_blank" href="http://www.myspace.cn/{K:UserId}">{K:DisplayName}</a> ',
					'留言说：{K:CommentBody}',
					'<i>-就在刚刚</i>',
					'&nbsp;<a uid="{K:UserId}" cid="{K:CommentId}" href="javascript:void(0)" onclick="delete_comment(this)">删除</a>',
					''].join("");
			var leLi=document.createElement("li");
			leLi.innerHTML=U.smartView(lsHTML,loData);
			
			//
			if(!dom.feed_wrapper){
				dom.feed_wrapper=document.getElementById("prf_feed_wrapper");
			}
			var leUl=dom.feed_wrapper.getElementsByTagName("ul")[0];
			if(!leUl){
				leUl=document.createElement("ul");
				dom.feed_wrapper.appendChild(leUl);
			}
			if(leUl.firstChild){
				leUl.insertBefore(leLi,leUl.firstChild);
			}else{
				leUl.appendChild(leLi);
			}
			U.imageSize(leUl.getElementsByTagName("img"),[60],120);			
		}
		function validateStatus(asVal){
			var lsVal = asVal;
			var flag = true;
			if(!/\S/.test(lsVal)){
				dom.tip.innerHTML = "<div>您还没有输入内容</div>";	
				dom.tip.style.display = "block";
				dom.status.value = lsDefVal;				
				flag = false;
				clearTimeout(timer);
				timer = setTimeout(function(){
							dom.tip.style.display = "none";
						},2000);
			}else if(lsVal.indexOf("<")!=-1||lsVal.indexOf(">")!=-1){
				/*
				dom.tip.innerHTML = "<div>不能包含特殊符号，如< ></div>";
				dom.tip.style.display = "block";			
				flag = false;
				clearTimeout(timer);
				timer = setTimeout(function(){
							dom.tip.style.display = "none";
						},2000);
						* 
			*/				
			}
			return flag;
		}
	}
	// end of publishComment
	window['delete_comment']=delete_comment;
	function delete_comment(aeNode){
		if(!confirm("您确定要删除该条留言吗？")){
			return false;
		} 	
	 	var leParent = aeNode;
	 	var lsCid = leParent.getAttribute("cid");
	 	var lsUid = leParent.getAttribute("uid");
		var lsUrl = "http://ajax.myspace.cn/_Common/AjaxService/profileservice.asmx/DeleteComment";
		var loRequest={
			"webservices": lsUrl,
			"contentType":"application/json",
			"values":['{"commentId":',lsCid,',"userId":',lsUid,',"displayFriendId":',MO_MySpaceContext.DisplayFriendId,'}'].join("")
		};
		U.loadAjax(loRequest,function(asData){
			var loResp=U.json2Obj(asData);
			if(loResp.Result == 0){
				leParent.parentNode.parentNode.removeChild(leParent.parentNode);
			}else if(loResp.Result == 2){
				location.href = loResp.RedirectUrl;
			}else{
				alert(loResp.Message);
			}			
		},"ajax");	
	}
		
	function updateUserStatus(asWrapperId){
		// Client init //
		var leWrapper = document.getElementById(asWrapperId);
		if(!leWrapper){
			return false;
		}
		var timer = null;
		var lsDefVal = "";
		var dom = {
				feed_wrapper:document.getElementById("prf_feed_wrapper"),
				status:leWrapper.getElementsByTagName("textarea")[0],
				tip:U.byClass("tip",leWrapper,"li")[0],
				submit:U.byClass("cnViBtnBlue",leWrapper,"a")[0]
			};
		wordCounter(asWrapperId);
		listen();
		// Client init //

		function listen(){
			U.addEvent(dom.submit,"click",updateStatus);
			U.addEvent(dom.status,"focus",focusHandler);
			U.addEvent(dom.status,"blur",blurHandler);
			
			function focusHandler(){
				if(dom.status.value == lsDefVal){
					dom.status.value = "";
				}			
			}
			function blurHandler(){
				if(dom.status.value == ""){
					dom.status.value = lsDefVal;
				}
			}
		}
		function updateStatus(){
			var lsUrl = "http://ajaxv2.myspace.cn/_common/AjaxService/UserHomeSvc.svc/json/updateUserStateAndReturnMsg";
			var lsVal = dom.status.value.substring(0, 140);
			var loRequest={
				"webservices": lsUrl,
				"contentType":"application/x-www-form-urlencoded",
				"values":["status=",encodeURIComponent(lsVal)].join("")
			};
			if(validateStatus(lsVal)){
				U.loadAjax(loRequest,function(asData){
						var loData=U.json2Obj(asData);						
						var lsTip;
						if(loData.Result == "1"){
							lsTip = "<div>更新成功</div>";
							updateUI(loData);						
							dom.status.value = "";
							var span = document.getElementById("prf_update_status").getElementsByTagName("span");
							for (var n =0; n<span.length;n++){
								if (span[n].className == "count"){
									span[n].getElementsByTagName("strong")[0].innerHTML = 140;
								}	
							}
						}else{
							lsTip = "<div>"+loData.Msg+"</div>";
						}
						dom.tip.style.display = "block";
						dom.tip.innerHTML = lsTip;
						clearTimeout(timer);
						timer = setTimeout(function(){
							dom.tip.style.display = "none";
						},3000);															
					});
			}
		}
		function updateUI(aoData){
			var loData=aoData;
//			var lsHTML=[
//					'<div class="icon"><img src="{K:Image}"/></div>',
//					'<a class="aName" target="_blank" href="http://www.myspace.cn/{K:UserId}">{K:DisplayName}</a> ',
//					'发微博客',
//					'<i>-刚刚</i>',
//					'<div class="clearfix">',
//					'{K:Msg}',
//					'<a class="cnHasLine" target="_blank" href="http://www.9911.com/{K:UserId}">详情</a><a class="cnHasLine" target="_blank" href="http://mblog.myspace.cn/reply.php?reg=cn&amp;blogid=4013607" style="display:none;">回复</a>'].join("");		
			
			var lsHTML = ['<div class="rd_feed_item FeedType_1750">',	
			'<div lang="{K:UserId}" class="rd_feed_item_master">',	
			'<a target="_blank" href="http://www.myspace.cn/{K:UserId}"><img src="{K:Image}" alt="{K:DisplayName}"></a>	</div>',	
			'<div class="rd_feed_item_content">		<div class="rd_feed_item_title">			<h3><a target="_blank" href="http://www.myspace.cn/{K:UserId}">{K:DisplayName}</a> 发微博客</h3>			<small>刚刚</small>		</div>',	
			'<div class="rd_feed_item_detail">{K:Msg}</div>',	
			'<div class="rd_feed_form"><a target="_blank" href="http://www.myspace.cn">通过myspace网站</a></div>	</div>',	
			'<div class="clear"></div></div>'].join("")
			
			dom.feed_wrapper=document.getElementById("ajax_content");
			dom.feed_wrapper.innerHTML = U.smartView(lsHTML,loData) + dom.feed_wrapper.innerHTML
			return false;
			
			var leLi=document.createElement("li");
			leLi.innerHTML=U.smartView(lsHTML,loData);
			var leUl=dom.feed_wrapper.getElementsByTagName("ul")[0];
			if(!leUl){
				leUl=document.createElement("ul");
				dom.feed_wrapper.appendChild(leUl);
			}
			if(leUl.firstChild){
				leUl.insertBefore(leLi,leUl.firstChild);
			}else{
				leUl.appendChild(leLi);
			}			
		}
		function validateStatus(asVal){
			var lsVal = asVal;
			var flag = true;
			if(!/\S/.test(lsVal)){
				dom.tip.style.display = "block";
				dom.tip.innerHTML = "<div>您还没有输入内容</div>";
				dom.status.value = lsDefVal;				
				flag = false;
				clearTimeout(timer);
				timer = setTimeout(function(){
							dom.tip.style.display = "none";
						},2000);
			}
			return flag;
		}
	}
	// end of updateUserStatus
	function FeedModule(asWrapperId){
		var leWrapper = document.getElementById(asWrapperId);
		if(!leWrapper){
			return false;
		}
		
		//new pop music
		var popUpPlayer=popUpMusicNew(asWrapperId);
		if(popUpPlayer){
			popUpPlayer.getDom();
			popUpPlayer.listen();
		}
		
		show_delete_link(asWrapperId);
		
		if(MO_MySpaceContext.UserId<=0){
			var lxIframe = leWrapper.getElementsByTagName("iframe");
			for(var i=0;i<lxIframe.length;i++){
				lxIframe[i].style.display="none";
			}
		}
		
		FeedComments(asWrapperId);
		U.imageSize(leWrapper.getElementsByTagName("img"),[60],120);
		wordCounter("mblogSendLayer");
		MoreFeeds(asWrapperId);	
		HomeMBlogs(asWrapperId);
	}


	function popUpMusicNew(asWrapperId){
		var leWrapper = document.getElementById(asWrapperId);
		if(!leWrapper){
			return false;
		}
		
		var dom = {};
		
		getDom()
		listen();
		
		return{
			"getDom":getDom,
			"listen":listen
		}
		
		function getDom(){
			dom.playMsicNewBt=U.byClass("playMsicNew",leWrapper,"a");
		}
		function listen(){
			//alert(dom.playMsicNewBt.length);
			for(var i=0;i<dom.playMsicNewBt.length;i++){
				U.addEvent(dom.playMsicNewBt[i],"click",popPlayMusic);//popPlayMusic
				
			}
		}
		function popPlayMusic(e){
			e = e || window.event;
			var loTarget = e.target || e.srcElement;
			if(loTarget.tagName=="IMG"||loTarget.tagName=="img"){
				loTarget=loTarget.parentNode;
			}
			var songId=[];
			songId[0]=loTarget.getAttribute("songid");
			if(typeof(PlayerMObject)!="undefined"){
				PlayerMObject.playSong(songId);
			}
		}
	}


	function wordCounter(asWrapperId){
		var leWrapper = document.getElementById(asWrapperId);
		if(!leWrapper){
			return false;
		}
		
	    var liMax = 140;
	    var liLeft = liMax;	
		
		var dom = {
				keyWord:leWrapper.getElementsByTagName("textarea")[0],
				tip:U.byClass("count",leWrapper,"span")[0]
			};
		listen();
		caculate();
		
		function listen(){
		    U.addEvent(dom.keyWord, "keyup", caculate);
		    U.addEvent(dom.keyWord, "paste", caculate);
		    //U.addEvent(dom.keyWord, "blur", caculate);			
		}	    
	    function caculate(){
            liLeft = liMax - dom.keyWord.value.length;
            if (liLeft > 0) {
                dom.tip.innerHTML = "可输入<strong>" + liLeft + "</strong>个字";
            } else {
                setTimeout(function(){dom.keyWord.value = dom.keyWord.value.substring(0, liMax);},200);
                dom.tip.innerHTML = '已经达到最大长度';
            }
	    }
	}
	//prf_aboutme_country
	function changeCountry(asWrapperId){
		var leWrapper = document.getElementById(asWrapperId);
		if(!leWrapper){
			return false;
		}
		var lxData = getCountryData();
		var loLocation = U.json2Obj(leWrapper.getAttribute("udata"));
		for(var i=0;i<lxData.length;i++){
			if(lxData[i].Code==loLocation.country){
				leWrapper.innerHTML =lxData[i].CnName;
				break;
			}
		}			
	}
	function changeLocation(asWrapperId){
		var leWrapper = document.getElementById(asWrapperId);
		if(!leWrapper){
			return false;
		}		
		var lxData = getCountryData();
		var loLocation = U.json2Obj(leWrapper.getAttribute("udata"));
		for(var i=0;i<lxData.length;i++){
			if(lxData[i].Code==loLocation.country){
				loLocation.countryName=lxData[i].CnName;
				break;
			}
		}
		var lxNew = [];
		var lsCountryUrl="http://browseusers.myspace.cn/basic.php?findfriendcount=advance&signup=1&QMask1=536870912&MinAge=0&MaxAge=100&isOffLine=1&BrowseGender=Both&Country="+loLocation.country;
		var lsRegionUrl = lsCountryUrl+"&RegionName="+loLocation.region;
		var lsCityUrl = lsRegionUrl+"&City="+loLocation.city;
		var lsCityLink = "";
		if(/\S/.test(loLocation.city)){
			lsCityLink = [
				'<a target="_blank" href="',
				lsCityUrl,
				'">',
				loLocation.city,
				'</a>,'].join("");	
		}
		leWrapper.innerHTML = [
			lsCityLink,
			'<a target="_blank" href="',
			lsRegionUrl,
			'">',
			loLocation.region,
			'</a>,<a target="_blank" href="',
			lsCountryUrl,
			'">',
			loLocation.countryName,
			'</a>'].join("");
		 AddFriend({triggers:[document.getElementById("add_friend_button_top")]});
	}
	
	
	function getCountryData(){
		return [
		    {Code: "AL", CnName: "阿尔巴尼亚"},
		    {Code: "DZ", CnName: "阿尔及利亚"},
		    {Code: "AF", CnName: "阿富汗"},
		    {Code: "AR", CnName: "阿根廷"},
		    {Code: "AE", CnName: "阿拉伯联合酋长国"},
		    {Code: "SY", CnName: "阿拉伯叙利亚共和国"},
		    {Code: "AW", CnName: "阿鲁巴"},
		    {Code: "OM", CnName: "阿曼"},
		    {Code: "AZ", CnName: "阿塞拜疆"},
		    {Code: "EG", CnName: "埃及"},
		    {Code: "ET", CnName: "埃塞俄比亚"},
		    {Code: "IE", CnName: "爱尔兰"},
		    {Code: "EE", CnName: "爱沙尼亚"},
		    {Code: "AD", CnName: "安道尔"},
		    {Code: "AO", CnName: "安哥拉"},
		    {Code: "AI", CnName: "安圭拉"},
		    {Code: "AG", CnName: "安提瓜和巴布达"},
		    {Code: "AT", CnName: "奥地利"},
		    {Code: "AU", CnName: "澳大利亚"},
		    {Code: "BB", CnName: "巴巴多斯"},
		    {Code: "PG", CnName: "巴布亚新几内亚"},
		    {Code: "BS", CnName: "巴哈马"},
		    {Code: "PK", CnName: "巴基斯坦"},
		    {Code: "PY", CnName: "巴拉圭"},
		    {Code: "BH", CnName: "巴林"},
		    {Code: "PA", CnName: "巴拿马"},
		    {Code: "BR", CnName: "巴西"},
		    {Code: "BY", CnName: "白俄罗斯"},
		    {Code: "BM", CnName: "百慕大"},
		    {Code: "BG", CnName: "保加利亚"},
		    {Code: "MP", CnName: "北马里亚纳"},
		    {Code: "BJ", CnName: "贝宁"},
		    {Code: "BE", CnName: "比利时"},
		    {Code: "IS", CnName: "冰岛"},
		    {Code: "PR", CnName: "波多黎各"},
		    {Code: "PL", CnName: "波兰"},
		    {Code: "BA", CnName: "波斯尼亚和黑塞哥维那"},
		    {Code: "BO", CnName: "玻利维亚"},
		    {Code: "BZ", CnName: "伯利兹"},
		    {Code: "BW", CnName: "博茨瓦纳"},
		    {Code: "BT", CnName: "不丹"},
		    {Code: "BF", CnName: "布基纳法索"},
		    {Code: "BI", CnName: "布隆迪"},
		    {Code: "BV", CnName: "布维岛"},
		    {Code: "KP", CnName: "朝鲜民主主义人民共和国"},
		    {Code: "GQ", CnName: "赤道几内亚"},
		    {Code: "LY", CnName: "大阿拉伯利比亚民众国"},
		    {Code: "KR", CnName: "大韩民国"},
		    {Code: "DK", CnName: "丹麦"},
		    {Code: "DE", CnName: "德国"},
		    {Code: "TP", CnName: "东帝汶"},
		    {Code: "TG", CnName: "多哥"},
		    {Code: "DO", CnName: "多米尼加共和国"},
		    {Code: "DM", CnName: "多米尼克"},
		    {Code: "RU", CnName: "俄罗斯联邦"},
		    {Code: "EC", CnName: "厄瓜多尔"},
		    {Code: "ER", CnName: "厄立特里亚"},
		    {Code: "FR", CnName: "法国"},
		    {Code: "FO", CnName: "法罗群岛"},
		    {Code: "VA", CnName: "梵蒂冈城国（教廷）"},
		    {Code: "PH", CnName: "菲律宾"},
		    {Code: "FJ", CnName: "斐济"},
		    {Code: "FI", CnName: "芬兰"},
		    {Code: "CV", CnName: "佛得角"},
		    {Code: "FK", CnName: "福克兰群岛（马尔维纳斯）"},
		    {Code: "GM", CnName: "冈比亚"},
		    {Code: "CG", CnName: "刚果"},
		    {Code: "CO", CnName: "哥伦比亚"},
		    {Code: "CR", CnName: "哥斯达黎加"},
		    {Code: "GD", CnName: "格林纳达"},
		    {Code: "GL", CnName: "格陵兰"},
		    {Code: "GE", CnName: "格鲁吉亚"},
		    {Code: "CU", CnName: "古巴"},
		    {Code: "GU", CnName: "关岛"},
		    {Code: "GY", CnName: "圭亚那"},
		    {Code: "KZ", CnName: "哈萨克斯坦"},
		    {Code: "HT", CnName: "海地"},
		    {Code: "NL", CnName: "荷兰"},
		    {Code: "AN", CnName: "荷属安的列斯"},
		    {Code: "HM", CnName: "赫德和麦克唐纳群岛"},
		    {Code: "HN", CnName: "洪都拉斯"},
		    {Code: "KI", CnName: "基里巴斯"},
		    {Code: "DJ", CnName: "吉布提"},
		    {Code: "KG", CnName: "吉尔吉斯斯坦"},
		    {Code: "GN", CnName: "几内亚"},
		    {Code: "GW", CnName: "几内亚比绍"},
		    {Code: "CA", CnName: "加拿大"},
		    {Code: "GH", CnName: "加纳"},
		    {Code: "GA", CnName: "加蓬"},
		    {Code: "KH", CnName: "柬埔寨"},
		    {Code: "CZ", CnName: "捷克共和国"},
		    {Code: "ZW", CnName: "津巴布韦"},
		    {Code: "CM", CnName: "喀麦隆"},
		    {Code: "QA", CnName: "卡塔尔"},
		    {Code: "KY", CnName: "开曼群岛"},
		    {Code: "KM", CnName: "科摩罗"},
		    {Code: "CI", CnName: "科特迪瓦"},
		    {Code: "KW", CnName: "科威特"},
		    {Code: "CC", CnName: "可可（基岭）岛"},
		    {Code: "CT", CnName: "克罗地亚（赫尔瓦次卡）"},
		    {Code: "KE", CnName: "肯尼亚"},
		    {Code: "CK", CnName: "库克群岛"},
		    {Code: "LV", CnName: "拉托维亚"},
		    {Code: "LS", CnName: "莱索托"},
		    {Code: "LA", CnName: "老挝人民民主共和国"},
		    {Code: "LB", CnName: "黎巴嫩"},
		    {Code: "LT", CnName: "立陶宛"},
		    {Code: "LR", CnName: "利比里亚"},
		    {Code: "LI", CnName: "列支敦士登"},
		    {Code: "LU", CnName: "卢森堡"},
		    {Code: "RW", CnName: "卢旺达"},
		    {Code: "RO", CnName: "罗马尼亚"},
		    {Code: "MG", CnName: "马达加斯加"},
		    {Code: "MV", CnName: "马尔代夫"},
		    {Code: "MT", CnName: "马耳他"},
		    {Code: "MW", CnName: "马拉维"},
		    {Code: "MY", CnName: "马来西亚"},
		    {Code: "ML", CnName: "马里"},
		    {Code: "MH", CnName: "马绍尔群岛"},
		    {Code: "MU", CnName: "毛里求斯"},
		    {Code: "MR", CnName: "毛利塔尼亚"},
		    {Code: "US", CnName: "美国"},
		    {Code: "UM", CnName: "美国本土外小岛屿"},
		    {Code: "AS", CnName: "美属萨摩亚"},
		    {Code: "VI", CnName: "美属维尔京群岛"},
		    {Code: "MN", CnName: "蒙古"},
		    {Code: "MS", CnName: "蒙特塞拉特"},
		    {Code: "BD", CnName: "孟加拉国"},
		    {Code: "PE", CnName: "秘鲁"},
		    {Code: "FM", CnName: "密克罗尼西亚联邦"},
		    {Code: "MM", CnName: "缅甸"},
		    {Code: "MD", CnName: "摩尔多瓦共和国"},
		    {Code: "MA", CnName: "摩洛哥"},
		    {Code: "MC", CnName: "摩纳哥"},
		    {Code: "MZ", CnName: "莫桑比克"},
		    {Code: "MX", CnName: "墨西哥"},
		    {Code: "NA", CnName: "纳米比亚"},
		    {Code: "ZA", CnName: "南非"},
		    {Code: "AQ", CnName: "南极洲"},
		    {Code: "GS", CnName: "南乔治亚岛和南桑德韦奇岛"},
		    {Code: "YU", CnName: "南斯拉夫"},
		    {Code: "NR", CnName: "瑙鲁"},
		    {Code: "NP", CnName: "尼泊尔"},
		    {Code: "NI", CnName: "尼加拉瓜"},
		    {Code: "NE", CnName: "尼日尔"},
		    {Code: "NG", CnName: "尼日利亚"},
		    {Code: "NU", CnName: "纽埃"},
		    {Code: "NO", CnName: "挪威"},
		    {Code: "NF", CnName: "诺福克岛"},
		    {Code: "PW", CnName: "帕劳"},
		    {Code: "PN", CnName: "皮特凯恩"},
		    {Code: "PT", CnName: "葡萄牙"},
		    {Code: "MK", CnName: "前南斯拉夫马其顿共和国"},
		    {Code: "JP", CnName: "日本"},
		    {Code: "SE", CnName: "瑞典"},
		    {Code: "CH", CnName: "瑞士"},
		    {Code: "SV", CnName: "萨尔瓦多"},
		    {Code: "WS", CnName: "萨摩亚"},
		    {Code: "SL", CnName: "塞拉利昂"},
		    {Code: "SN", CnName: "塞内加尔"},
		    {Code: "CY", CnName: "塞浦路斯"},
		    {Code: "SC", CnName: "塞舌尔"},
		    {Code: "SA", CnName: "沙特阿拉伯"},
		    {Code: "CX", CnName: "圣诞岛"},
		    {Code: "ST", CnName: "圣多美和普林西比"},
		    {Code: "SH", CnName: "圣赫勒拿"},
		    {Code: "KN", CnName: "圣基茨和尼维斯"},
		    {Code: "LC", CnName: "圣卢西亚"},
		    {Code: "SM", CnName: "圣马力诺"},
		    {Code: "VC", CnName: "圣文森特和格林纳丁斯"},
		    {Code: "LK", CnName: "斯里兰卡"},
		    {Code: "SK", CnName: "斯洛伐克共和国"},
		    {Code: "SI", CnName: "斯洛文尼亚"},
		    {Code: "SJ", CnName: "斯瓦尔巴岛和扬马延岛"},
		    {Code: "SZ", CnName: "斯威士兰"},
		    {Code: "SD", CnName: "苏丹"},
		    {Code: "SR", CnName: "苏里南"},
		    {Code: "Sb", CnName: "所罗门群岛"},
		    {Code: "SO", CnName: "索马里"},
		    {Code: "TJ", CnName: "塔吉克斯坦"},
		    {Code: "TH", CnName: "泰国"},
		    {Code: "TZ", CnName: "坦桑尼亚联合共和国"},
		    {Code: "TO", CnName: "汤加"},
		    {Code: "TC", CnName: "特克斯和凯科斯群岛"},
		    {Code: "TT", CnName: "特立尼达和多巴哥"},
		    {Code: "TN", CnName: "突尼斯"},
		    {Code: "TV", CnName: "图瓦卢"},
		    {Code: "TR", CnName: "土耳其"},
		    {Code: "TM", CnName: "土库曼斯坦"},
		    {Code: "TK", CnName: "托克劳"},
		    {Code: "VU", CnName: "瓦努阿图"},
		    {Code: "GT", CnName: "危地马拉"},
		    {Code: "VE", CnName: "委内瑞拉"},
		    {Code: "BN", CnName: "文莱"},
		    {Code: "UG", CnName: "乌干达"},
		    {Code: "UA", CnName: "乌克兰"},
		    {Code: "UY", CnName: "乌拉圭"},
		    {Code: "UZ", CnName: "乌兹别克斯坦"},
		    {Code: "ES", CnName: "西班牙"},
		    {Code: "EH", CnName: "西撒哈拉"},
		    {Code: "GR", CnName: "希腊"},
		    {Code: "SG", CnName: "新加坡"},
		    {Code: "NZ", CnName: "新西兰"},
		    {Code: "HU", CnName: "匈牙利"},
		    {Code: "JM", CnName: "牙买加"},
		    {Code: "AM", CnName: "亚美尼亚"},
		    {Code: "YE", CnName: "也门"},
		    {Code: "IQ", CnName: "伊拉克"},
		    {Code: "IR", CnName: "伊朗伊斯兰共和国"},
		    {Code: "IL", CnName: "以色列"},
		    {Code: "IT", CnName: "意大利"},
		    {Code: "IN", CnName: "印度"},
		    {Code: "ID", CnName: "印度尼西亚"},
		    {Code: "GB", CnName: "英国"},
		    {Code: "UK", CnName: "英国"},
		    {Code: "VG", CnName: "英属维尔京群岛"},
		    {Code: "IO", CnName: "英属印度洋地区"},
		    {Code: "JO", CnName: "约旦"},
		    {Code: "VN", CnName: "越南"},
		    {Code: "ZM", CnName: "赞比亚"},
		    {Code: "ZR", CnName: "扎伊尔"},
		    {Code: "TD", CnName: "乍得"},
		    {Code: "GI", CnName: "直布罗陀"},
		    {Code: "CL", CnName: "智利"},
		    {Code: "CF", CnName: "中非共和国"},
		    {Code: "CN", CnName: "中国"}
		];		
	}
	
	// end of wordCounter	
	function iUtil(){
		return {
		loadAjax: function(aoObj, afCallback, asDomain){
				if(navigator.userAgent.indexOf("IE")!=-1){
					action(delay);
				}else{
					delay();
				}
	
				function delay(){
					if (document.domain != "myspace.cn"){
						document.domain = "myspace.cn";
					} 
					if (aoObj == null){
						return false;
					}
					if (asDomain == null){
						asDomain = "ajaxv2";
					}
					var lsFrameUrl = "http://" + asDomain + ".myspace.cn/_common/static/ajax.html";
					var lsFrameName = asDomain + "_frame";
					var lsFrameWrapperId = asDomain+"_frameWrapper";
					var leFrameWrapper = document.getElementById(lsFrameWrapperId);
					if (window.frames[lsFrameName] == null){
						leFrameWrapper = document.createElement("span");
						leFrameWrapper.id = lsFrameWrapperId;
						leFrameWrapper.style.display = "none";
						document.body.appendChild(leFrameWrapper);
						leFrameWrapper.innerHTML = '<iframe name='+lsFrameName+'></iframe>';
						addLoadListener();
					}else if(window.frames[lsFrameName].ajax == null){
						addLoadListener();
					}else{
						lfCallback();
					}
					function addLoadListener(){
						var leIframe =  leFrameWrapper.getElementsByTagName("iframe")[0];
					    if (navigator.userAgent.indexOf("IE")!=-1) {
					       leIframe.attachEvent("onload", lfCallback);
					    } else {
					        leIframe.addEventListener("load", lfCallback, false);
					    }
						leIframe.src = lsFrameUrl;				
					}
					
					function lfCallback(){				
						var lsGUID="_autoCallBackAjax_"+Math.floor(Math.random()*16000).toString(16);
						window[lsGUID] = afCallback;
						aoObj.callback=lsGUID;
						aoObj.url = aoObj.webservices;
						aoObj.data = aoObj.values;
						window.frames[lsFrameName].ajax(aoObj);						
					}			
				}
				function action(afDelay){
					var timer = function(){
						try{
							document.documentElement.doScroll("left");
							afDelay();
						}catch(error) {							
							setTimeout(timer, 200);
						}					
					}
					timer();
				}				
			},
			loadJsonP: function(asUrl, afCallback){
				if (!asUrl) {
					return false;
				}
				var lsUrl = asUrl;
				if (lsUrl.indexOf("callback=") == -1) {
					var lsGUID="_autoCallBack"+Math.floor(Math.random()*16000).toString(16);
					lsUrl = lsUrl + (lsUrl.indexOf("?") != -1 ? "&" : "?") + "callback=" + lsGUID;
				}
				window[lsGUID] = afCallback;
				
				var leTag = document.createElement('script');
				leTag.setAttribute('type', 'text/javascript');
				leTag.setAttribute('src', lsUrl);
				document.getElementsByTagName('head')[0].appendChild(leTag);				
			},
			json2Obj: function(astr){
				var ljson;
				if(typeof astr == "object"){
					return astr;
				}
				astr = (astr != null) ? astr.split("\n").join("").split("\r").join("") : "";
				if (/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/.test(astr.replace(/\\./g, '@').replace(/"[^"\\\n\r]*"/g, ''))) {
					if (astr != "") {
						ljson = eval('(' + astr + ')');
						return ljson;
					}
				}
				return {};
			},
			includeUrl: function(asUrl, afCallback, asType){
				var leHead = document.getElementsByTagName('head')[0];
				if (asType == null){
					asType = "js";
				}				
				var leTag = null;
				if (asType == "js") {
					leTag = document.createElement('script');
					leTag.setAttribute('type', 'text/javascript');
					leTag.setAttribute('src', asUrl);
				}
				else {
					leTag = document.createElement('link');
					leTag.setAttribute('rel', 'stylesheet');
					leTag.setAttribute('type', 'text/css');
					leTag.setAttribute('href', asUrl);
				}
				if (afCallback != null) {
					leTag.onload = leTag.onreadystatechange = function(){
						if (leTag.ready) {
							return false;
						}
						if (!leTag.readyState || leTag.readyState == "loaded" || leTag.readyState == 'complete') {
							leTag.ready = true;
							afCallback(asUrl);
						}
					};
				}
				leHead.appendChild(leTag);
				return true;
			},		
			addEvent:function(aeTag, asEvt, afHandler){
				if (!aeTag) {
					return false;
				}
				if (navigator.userAgent.indexOf("IE") != -1) {
					aeTag.attachEvent("on" + asEvt, afHandler);
				} else {
					aeTag.addEventListener(asEvt, afHandler, false);
				}
			},
			byClass:function(asClass, aeP, asTag){
				var lxNew = [];
				asClass = asClass == null ? "" : asClass;
				aeP = aeP == null ? document : aeP;
				asTag = asTag == null ? "*" : asTag;
				
				var lxTag = aeP.getElementsByTagName(asTag);
				var pattern = new RegExp("(^|\s)" + asClass + "(\s|$)");
				for (var i = 0; i < lxTag.length; i++) {
					if ((" " + lxTag[i].className + " ").indexOf(" " + asClass + " ") != -1) {
						lxNew.push(lxTag[i]);
					}
				}
				return lxNew;
			},
			addClass:function(aeTag, asClass){
			    if (!aeTag) {
			        return false;
			    }		
			    asClass = asClass == null ? 'cnViOver' : asClass;
			    if ((" " + aeTag.className + " ").indexOf(" " + asClass + " ") == -1) {
			        aeTag.className = (aeTag.className + ' ' + asClass).replace(/(^\s*)|(\s*$)/g, "");
			    }
			    return aeTag;
			},
			removeClass:function(aeTag, asClass){
			    if (!aeTag) {
			        return false;
			    }		
			    asClass = asClass == null ? 'cnViOver' : asClass;
			    aeTag.className = aeTag.className.replace(new RegExp('(^|\\s)' + asClass + '(?:\\s|$)'), '$1').replace(/(^\s*)|(\s*$)/g, "");
			},			
			trim:function(asStr){
			    asStr = asStr == null ? "" : asStr;
			    return asStr.replace(/(^\s*)|(\s*$)/g, "");
			},
			imageSize:function(axImg,axWidth,aiHeight){
				if(axImg==null||axWidth==null) return;
				var lxImg;
				if(axImg.nodeType){
					lxImg = [axImg];
				}else{
					lxImg = axImg;
				}
				for(var i=0;i<lxImg.length;i++){
					var leImage = lxImg[i];
					var loImage = new Image();
					loImage.onload = action(leImage);
					loImage.src = leImage.src;
					if(navigator.userAgent.indexOf("IE")!=-1){
						action(leImage)();
					}					
				}
				function action(aeNode){
					return function(){
						if(axWidth.length==1){
							var liWidth=axWidth[0];
							if(aeNode.width>liWidth){
								aeNode.style.height=Math.ceil(aeNode.height * liWidth/aeNode.width)+"px";
								aeNode.style.width=liWidth+"px";
							}
						}else if(axWidth.length==2){
							var liWidth;
							var liWidth0=axWidth[0];
							var liWidth1=axWidth[1];
							if(aeNode.width>liWidth1){
								liWidth=liWidth1;
							}else if(aeNode.width<aeNode.height&&aeNode.width>liWidth0){
								liWidth=liWidth1;
							}
							aeNode.style.height=Math.ceil(aeNode.height * liWidth/aeNode.width)+"px";
							aeNode.style.width=liWidth+"px";
						}
						if(aiHeight!=null){
							if(aeNode.height>aiHeight){
								aeNode.style.width=Math.ceil(aeNode.width * aiHeight/aeNode.height)+"px";
								aeNode.style.height=aiHeight+"px";
							}
						}		
					}
				}
			},				
			smartView:function(asHTML, axData){
			    var lxLeft = asHTML.split("{K:");
			    var lxHTML = [];
			    if(!axData){
			    	return false;
			    }
				if(axData.constructor != Array){
					if(axData.constructor == Number){
						var liIndex = axData;
						axData = [];				
						axData[liIndex - 1] = {};
					}else{
						axData = [axData];	
					}
				}
			    for (var i = 0; axData && i < axData.length; i++) {
			        for (var j = 0; j < lxLeft.length; j++) {
			            var lsProp = lxLeft[j].substring(0, lxLeft[j].indexOf("}"));
			            if (lsProp != "") {
			            	if(lsProp == "k"){            		
			            		lxHTML[lxHTML.length] = i;
			                	lxHTML[lxHTML.length] = lxLeft[j].substring(lxLeft[j].indexOf("}") + 1);
			            	}else{
			            		lxHTML[lxHTML.length] = axData[i][lsProp];
			                	lxHTML[lxHTML.length] = lxLeft[j].substring(lxLeft[j].indexOf("}") + 1);
			            	}
			               
			            }
			            else {
			                lxHTML[lxHTML.length] = lxLeft[j];
			            }
			        }
			    }
			    return lxHTML.join("");
			}
		};		
	}	
}

var sqlNoFlash = {
    head : {
        ext : "jpg",
        can : false,
        done: false,
        deal: false,
        url : ""
    },
    bg   : {
        ext : "jpg",
        can : false,
        done: false,
        deal: false,
        url : ""
    },
    callback :function() {},
    seqUpload : function(json) {
        if(json.status == "ok") {
            if(sqlNoFlash.head.done && !sqlNoFlash.head.deal) {
                getImgUrl(json.dfs, sqlNoFlash.head.ext);
                sqlNoFlash.callback = function(value) {
                    sqlNoFlash.head.url = value;
                    sqlNoFlash.head.deal = true;
                    if(sqlNoFlash.bg.can) {
                        template.imgUpload(maskerUtil.$("#tw_bg_pic"));
                        sqlNoFlash.bg.done = true;
                    }
                    else {
                        template.deal();
                    }
                };
            }
            else if(sqlNoFlash.bg.done && !sqlNoFlash.bg.deal) {
                getImgUrl(json.dfs, sqlNoFlash.bg.ext);
                sqlNoFlash.callback = function(value) {
                    sqlNoFlash.bg.url = value;
                    sqlNoFlash.bg.deal = true;
                    template.deal();
                };
            }
        }
        else {
            var twError = maskerUtil.$("#tw_error");
            twError.innerHTML = "图片上传失败，可能是网络原因或图片大于5M！";
            twError.style.display = "block";
            maskerUtil.$("#tw_done").style.display = "none";
            maskerUtil.$("#tw_uping").style.display = "none";
            window.setTimeout(function(){window.location.href = location.href.split("?")[0];}, 2000);
        }
        function getImgUrl(dfs, type) {
            var url = "http://ajaxv2.myspace.cn/_Common/AjaxService/dfsservice.svc/json/DfsToUrl?imgTag=o&ext="+type+"&dfs="+encodeURIComponent(dfs)+"&callback=sqlNoFlash.callback";
            ProfileV4.iUtil().loadJsonP(url);
        }
    }
};

function template() {
    var twSure = maskerUtil.$("#tw_sure"), twDone = maskerUtil.$("#tw_done"), twError = maskerUtil.$("#tw_error"), edit = maskerUtil.$("#templateEdit"), eCancel = maskerUtil.$("#tw_cancel"), twBgInput = maskerUtil.$("#tw_bg_pic"), twHeaderInput = maskerUtil.$("#tw_header_pic"), twShow = maskerUtil.$("#tw_f"), twUping = maskerUtil.$("#tw_uping");
    template.selectedId = "";
    template.selectedTemplate = "";
    template.lastSelected = null;
    template.over = function() {
        this.style.background = "url(http://xfiles.cdnmyspace.cn/dir/profile/v1/img/t_bg_alter.png) no-repeat";
    };
    template.out = function() {
        this.style.background = "url(http://xfiles.cdnmyspace.cn/dir/profile/v1/img/t_bg.png) no-repeat";
    };
    template.imgUpload = uploadImage;
    template.curTemplate = {};
    template.click = function() {
        var _img = this.getElementsByTagName("img")[0];
        if(template.lastSelected == this) {
            template.out.apply(this);
            this.onmouseout = function(){template.out.apply(this);}
            _img.style.display = "none";
            template.selectedId = "";
            template.lastSelected = null;
            return;
        }
        if(!!template.lastSelected) {
            var _limg = template.lastSelected.getElementsByTagName("img")[0];
            _limg.style.display = "none";
            template.out.apply(template.lastSelected);
            template.lastSelected.onmouseout = function(){template.out.apply(this);}
        }
        template.over.apply(this);
        this.onmouseout = null;
        template.lastSelected = this;
        _img.style.display = "block";
        template.selectedId = this.getAttribute("tid");
    };
    template.fDeal = function(json) {
        var myCss = json.TemplateCss;
        if(sqlNoFlash.head.deal) {
            myCss += "div.prf_nav_mod{background-image:url("+sqlNoFlash.head.url+");background-repeat:repeat;}";
        }
        if(sqlNoFlash.bg.deal) {
            myCss += "body{background-image:url("+sqlNoFlash.bg.url+");background-repeat:repeat;}";
        }
        var loRequest = {
		    "webservices": "http://ajaxv2.myspace.cn/_Common/AjaxService/TemplateCenterV2.svc/json/updateMyTemplate",
		    "contentType":"application/json",
		    "values": ['{"templateCss":"',encodeURIComponent(myCss),'","templateName":"我的模板"}'].join("")
	    }
	    ProfileV4.iUtil().loadAjax(loRequest,function(json){
	        json = eval('('+json+')');
	        if(json.Result == 0) {
	            twError.style.display = "none";
                twDone.style.display = "block";
                twUping.style.display = "none";
                window.setTimeout(function(){twDone.style.display = "none";masker.close();window.location.href = location.href.split("?")[0];}, 1000);
	        }
	        else {
	            twError.innerHTML = "模板更新失败！";
	            twError.style.display = "block";
                twDone.style.display = "none";
                twUping.style.display = "none";
                window.setTimeout(function(){twError.innerHTML = "图片格式错误！";twError.style.display = "none";masker.close();window.location.href = location.href.split("?")[0];}, 1000);
	        }
	    },"ajaxv2");
    }
    template.deal = function() {
         getTemplateCss(template.selectedId);
    };
    twSure.onclick = function() {
        if(template.selectedId == "") {
            twError.innerHTML = "哎呀，忘记选择模板了~~~";
            twError.style.display = "block";
            return false;
        }
        twSure.style.display = "none";
        eCancel.style.display = "none";
        maskerUtil.$("#maskerX").style.display = "none";
        if(checkImages()) {
            twError.style.display = "none";
            twDone.style.display = "none";
            twUping.style.display = "none";
            if(sqlNoFlash.head.can) {
                uploadImage(twHeaderInput);
                sqlNoFlash.head.done = true;
            }
            else if(sqlNoFlash.bg.can) {
                uploadImage(twBgInput);
                sqlNoFlash.bg.done = true;
            }
            else {
                template.deal();
            }
        }
        else {
            return false;
        }
    }

    eCancel.onclick = cleanUpTemplate;
    if(typeof edit != "undefined" && !!edit) {
        edit.onclick = function() {
            masker.config.defWidth = 440;
            masker.config.title = "MySpace模板设置";
            masker.config.inner = maskerUtil.$("#t_w");
            masker.config.scrollAble = false;
            masker.config.resizeAble = false;
            masker.init();
        }
    }
    
    function cleanUpTemplate() {
        twBgInput.value = "";
        twHeaderInput.value = "";
        twError.style.display = "none";
        twDone.style.display = "none";
        twUping.style.display = "none";
		if(!!template.lastSelected) {
			template.out.apply(template.lastSelected);
			template.lastSelected.onmouseout = function(){template.out.apply(this);}
	        template.lastSelected.getElementsByTagName("img")[0].style.display = "none";
	        template.lastSelected = null;
	        template.selectedId = "";
		}
        masker.close();
    }
    function checkImages() {
        var rp = new RegExp('\.(jpg|jpeg|tiff|gif|png|bmp)$', "i"), r=[];
        r[0] = rp.test(twBgInput.value);
        r[1] = rp.test(twHeaderInput.value);
        if((twBgInput.value !="" && !r[0]) || (twHeaderInput.value != "" && !r[1])) {
			twError.innerHTML = "图片格式错误！";
            twError.style.display = "block";
            twDone.style.display = "none";
            twUping.style.display = "none";
			twSure.style.cssText = "";
	        eCancel.style.cssText = "";
	        maskerUtil.$("#maskerX").style.display = "block";
            return false;
        }
        if(r[0]) {
            sqlNoFlash.bg.ext = twBgInput.value.substr(twBgInput.value.lastIndexOf(".")+1, twBgInput.value.length);
            sqlNoFlash.bg.can = true;
        }
        if(r[1]) {
            sqlNoFlash.head.ext = twHeaderInput.value.substr(twHeaderInput.value.lastIndexOf(".")+1, twHeaderInput.value.length);
            sqlNoFlash.head.can = true;
        }
        return true;
    }
    function uploadImage(cur) {
        twError.style.display = "none";
        twDone.style.display = "none";
        twUping.style.display = "block";
        var fm = maskerUtil.$("#sqliuUpload");
        if(!fm) {
	        fm = document.createElement("form");
	        fm.id = "sqliuUpload";
	        document.body.appendChild(fm);
	        fm.target = "cnviunfIF";
	        fm.style.cssText = "display:none";
	        fm.enctype = "multipart/form-data";
	        try {
		        sqliuUpload.encoding = "multipart/form-data";
	        }
	        catch(e) {}
	        fm.method = "post";
	        fm.action = "http://upload.myspace.cn/imageupload/UploadImage.aspx?PrintJSON=Songshu&entity=" + encodeURIComponent("ResizeOImage=false;UserID=0;AlbumID=;EntityType=User;");
        }
        fm.innerHTML = "";
        document.body.appendChild(fm);
        fm.appendChild(cur);
        fm.submit();
    }
    function getCurTemplate() {
        var url = "http://ajaxv2.myspace.cn/_Common/AjaxService/TemplateCenterV2.svc/json/GetMyCurrentTemplateData?callback=template.fDeal";
        ProfileV4.iUtil().loadJsonP(url);
    }
    function getTemplateCss(id) {
		var lsUrl = "http://ajaxv2.myspace.cn/_Common/AjaxService/TemplateCenterV2.svc/json/GetMyCurrentTemplateData";
		if(id) {
			lsUrl = "http://ajaxv2.myspace.cn/_Common/AjaxService/TemplateCenterV2.svc/json/getTemplateData?templateid="+id;
		}
		var loRequest = {
			"webservices": lsUrl,
			"contentType":"application/json",
			"method" : "GET",
			"values": ""
		}
		ProfileV4.iUtil().loadAjax(loRequest, function(str){
			str = eval("(" + str + ")");
			template.fDeal(str);
		});	
		
		/*
        var url = "http://ajaxv2.myspace.cn/_Common/AjaxService/TemplateCenterV2.svc/json/GetMyCurrentTemplateData?callback=template.fDeal";
        if(id) {
            url = "http://ajaxv2.myspace.cn/_Common/AjaxService/TemplateCenterV2.svc/json/getTemplateData?templateid="+id+"&callback=template.fDeal";
        }
        ProfileV4.iUtil().loadJsonP(url);*/
    }
}

function resizeKnWidgetHeight(aiFlag){
	var leFrame = document.getElementById("apppanel_102234_profileleft");
	if(!leFrame){
		return;
	}
	var liUnit = 505;
	if(aiFlag<0){
		var liHeight = parseInt(leFrame.height)-liUnit;
		if(liHeight<130){
			leFrame.height=125;
		}else{
			leFrame.height=liHeight;
		}
	}else{
		leFrame.height=parseInt(leFrame.height)+liUnit;
	}
}