﻿// JavaScript Document

// JavaScript Document

var StringBuilder = function(){
	this._strs_ = [];
};
StringBuilder.prototype.append = function(str){
	this._strs_.push(str);
};
StringBuilder.prototype.toString = function(){
	return this._strs_.join("");
};

var jsStart = new Date();
var _Timer_LightDaily= null;
var KnprofileSource = {
	fansBlog : ['<div class="clearfix picAndDesc cyMblogItem"> <div class="padPicAndName"> <a target="_blank" class="padPicN" href="','{w1}','"><img src="','{w3}','"/></a> </div> <dl class="padDescList"> <dd class="con"><strong><a target="_blank" href="','{w5}','">','{w7}','</a></strong>&nbsp;','{w9}','</dd> <dd class="other_lnlczb"> <span> ','{w11}','','{w13}',' </span> <samp>','{w15}',' ','{w17}','</samp> </dd> </dl> </div>']
};
    <!--嘉宾提问焦点转移及加回复-->
	
	
    function question(name,uesrid){   //传入name和嘉宾ID
		
		
		var fus=document.getElementById('mblogInput_lj');
		if (!fus) return false;
		else
		{
		fus.focus();
		fus.value='@'+name+' ' ; //被回复的id
	}
	guest_id=uesrid;
	guest_name=name;
	
	
	}

//发送歌迷小字报
var isPermissionBuildUI = true;
function sendLightDaily(aeP, event, aoConf){
	var leInput = document.getElementById("mblogInput_lj");
	var lsCont = leInput.value;
	//var cont = lsCont.substr(leInput.getAttribute("defValue").length);
	var cont = lsCont;
	var usname=guest_name;
	//var length=usname.length+2;
	//alert('@'+usname+' ');
	
	if(cont.indexOf('@'+usname+' ')==0)
	{
			cont=cont.substring(usname.length+2);
			var loRequest={
		"url": lsURL,
		"method":"post",
		"data":{"act": "put_mblog", "t":"rp", "f": guest_id, "c":cont},
		"callback":callBack
	};
	  cont='@'+guest_name+' '+cont;	
	}
	else
	{
		var loRequest={
		"url": lsURL,
		"method":"post",
		"data":{"act": "put_mblog", "t":"rp", "f": friend_id, "c":cont},
		"callback":callBack
	};
	}
	 loadAjax_Asyn(loRequest);	
	function callBack(aoJson){
		aoJson = json2Obj(aoJson);
		if(aoJson.Result == 1){
			var leInput = document.getElementById("mblogInput_lj");
			leInput.value = leInput.getAttribute("defValue");
			isPermissionBuildUI = false;
			aoConf.c = 3;
			var newDiv = document.createElement("div");
			newDiv.className = "clearfix item_xzb_micJack";
			newDiv.innerHTML = ['<div class="clearfix picAndDesc cyMblogItem"> <div class="padPicAndName"> <a class="padPicN" href="http://www.9911.com/',aoJson.Msg.login_user_id,'"><img src="',aoJson.Msg.login_user_img,'"/></a> </div> <dl class="padDescList"> <dd class="con"><strong><a href="http://www.9911.com/',aoJson.Msg.login_user_id,'">',aoJson.Msg.login_user_name,'</a></strong>',cont,'</dd> <dd class="other_lnlczb">','刚才','&nbsp;','通过网站','</dd> </dl> </div>'].join("");
			for(var i=0; i<100; i++){
				var leWrapper = document.getElementById("cyFansMblogs"+i);
				if(leWrapper){
					leWrapper.style.display = "none";
				}else{
					break;
				}
			}
			var fansmblog = document.getElementById("cyFansMblogs1");
			fansmblog.style.display = "block";
			if(!fansmblog){
				throw new Error("The ele with id 'fansmblog' is not found");
				return;
			}
			insBefore(fansmblog, fansmblog.firstChild, newDiv);
			//fansmblog.removeChild(getLastChild(fansmblog));
			var leFansMblogsPage = document.getElementById("cyFansMblogsPage");
			if(leFansMblogsPage){
				changeOperPage_fan(document.getElementById("cyFansMblogsPage").firstChild, 1);
			}
			setTimeout(function(){isPermissionBuildUI=true}, 2000);
		}else{
			alert(aoJson.Msg);
		}
	}
	guest_id=friend_id;
	guest_name='陈楚生';
}

//获取小字报
function getLightDaily(aeP, event, aoConf){
	//var lsURL = "http://vipchat.myspace.cn/jsi.php";
	var d = new Date();
	var cyInter = d.getTime() - jsStart;
	var loRequest={
		"url": cyFlUrl+"?v="+cyInter,
		"method":"post",
		"data":{"act": "r_multi_mblogs", "f": friend_ids, "c": "8"},
		"callback":getLightDailyCallback
	};
	loadAjax_Asyn(loRequest);	
}
function getLightDaily_v2(aeP, event, aoConf){
//var lsURL = "http://vipchat.myspace.cn/jsi.php";
	var d = new Date();
	var cyInter = d.getTime() - jsStart;
	var loRequest={
		"url": lsURL+"?v="+cyInter,
		"method":"post",
		"data":{"act": "mblogs", "f": friend_id, "c": "10"},
		"callback":getLightDailyCallback
	};
	loadAjax_Asyn(loRequest);	
}

function getLightDailyCallback(aoJson){
	aoJson = json2Obj(aoJson);
	if(aoJson.Result == 1){
		if(isPermissionBuildUI)builtUIforDaily("cyFansMblogs1", aoJson.Msg);
	}
}
function builtUIforDaily(wrapper, Msg){
	var StrBd = new StringBuilder();
	var hzState = null;
	if(typeof is_user_login == "undefined"){
		throw new Error("the varible 'is_user_login' is not defined");
	}else if(is_user_login == 0){
		hzState = "&nbsp;";
	}
	for(var i=0, len = Msg.length; i<len; i++){
		KnprofileSource.fansBlog[1] = 'http://www.9911.com/'+Msg[i].userid;
		KnprofileSource.fansBlog[3] = Msg[i].img;
		KnprofileSource.fansBlog[5] = 'http://www.9911.com/'+Msg[i].userid;
		KnprofileSource.fansBlog[7] = Msg[i].user_name;
		KnprofileSource.fansBlog[9] = Msg[i].link_content;
		KnprofileSource.fansBlog[11] = hzState || '<a onclick=\'openCompleteWishes({"replyuserid":"' + Msg[i].userid + '","replyblogid":"' + Msg[i].blogid + '","name":"' + Msg[i].user_name_for_js + '","v":"' + Msg[i].content.replace(/[\n\r'"]/g, "") + '"})\'>回</a>';
		KnprofileSource.fansBlog[13] = hzState || '|<a onclick=\'openCompleteWishes_zf({"replyuserid":"' + Msg[i].userid + '","replyblogid":"' + Msg[i].blogid + '","name":"' + Msg[i].user_name_for_js + '","v":"' + Msg[i].content.replace(/[\n\r'"]/g, "") + '"})\'>转</a>';
		KnprofileSource.fansBlog[15] = Msg[i].f_day;
		KnprofileSource.fansBlog[17] = Msg[i].src_name;
		StrBd.append(KnprofileSource.fansBlog.join(""));
	}
	var fansmblog = document.getElementById(wrapper);
	if(!fansmblog){
		throw new Error("The ele with id 'fansmblog' is not found");
		return;
	}
	fansmblog.innerHTML = StrBd.toString();
}

/**
 * 关注嘉宾访谈
 */
function focusvips(aeP){
	var lsURL = cyFlUrl || "";
	var loRequest={
		"url": lsURL,
		"method":"post",
		"data":{"act": "follow", "f": friend_ids},
		"callback":callBack
	};
	loadAjax_Asyn(loRequest);
	function callBack(aoJson){
		aoJson = json2Obj(aoJson);
		if(aoJson.Result == 1){	
			aeP.innerHTML = "关注成功";
			setTimeout(function(){aeP.style.display = "none";}, 5000);
		}else{
			alert(aoJson.Msg);
		}
	}
}
function focusvip(aeP, aoConf){
	var lsURL = cyFlUrl || "";
	var loRequest={
		"url": lsURL,
		"method":"post",
		"data":{"act": "follow", "f": aoConf.friend_id},
		"callback":callBack
	};
	loadAjax_Asyn(loRequest);
	function callBack(aoJson){
		aoJson = json2Obj(aoJson);
		if(aoJson.Result == 1){	
			aeP.innerHTML = "关注成功";
			setTimeout(function(){aeP.style.display = "none";}, 5000);
		}else{
			alert(aoJson.Msg);
		}
	}
}

/**
 * 直播状态切换
 */
function switchLive(){
	var lsURL = cyFlUrl || "";
	var d = new Date();
	var cyInter = d.getTime() - jsStart;
	var loRequest={
		"url": lsURL,
		"method":"post",
		"data":{"act": "livestate", "st": page_state, "f":friend_id, "t": cyFlash_type, "url": cyFlash_url},
		"callback":callBack
	};
	loadAjax_Asyn(loRequest);
	function callBack(aoJson){
		aoJson = json2Obj(aoJson);
		if(aoJson.Result == 1){	
			if(aoJson.Msg.state == "refresh"){
				location.href = aoJson.Msg.href;
			}else if(aoJson.Msg.state == "flashchange"){
				livestateChangeCallback(aoJson);
			}	
		}else{
			throw new Error(aoJson.Msg);
		}
	}
}
function livestateChangeCallback(aoJson){
	var type = aoJson.Msg.type;
	var url = aoJson.Msg.url;
	var config = aoJson.Msg.config;
	var click_url = aoJson.Msg.click_url;
	
	if ('image' == type){
		createImage(url, click_url, 'live_SWF');
	} else if ('flash' == type){
		var version = (new Date()).getTime();
		createSWF("http://lads.myspace.cn/player/player.swf?v=" + version, "live_SWF", 470, 394, config, url);
	} else if ('other' == type){
		createOutFlash(url, 'live_SWF');
	}
	cyFlash_type = type;
	cyFlash_url = url;
	return;
}

function getMsblog_fan_page(aeP, page, dir){
	if(page < 1){
		page = 1
	}
	for(var i=1; i<1000; i++){
		var lePagewrapper = document.getElementById("cyFansMblogs"+i);
		if(lePagewrapper){
			lePagewrapper.style.display = "none";
		}else{
			break;
		}
	}
	var lePagewrapper = document.getElementById("cyFansMblogs"+page);
	if(lePagewrapper){
		lePagewrapper.style.display = "block";
		changeOperPage_fan(aeP, page);
		return;
	}
	var lsURL = "http://artist.myspace.cn/zbyyj/jsi.php";
	var loRequest={
		"url": lsURL,
		"method":"post",
		"data":{"act": "mblogs_paged", "t": "fan", "p": page},
		"callback":callBack
	};
	loadAjax_Asyn(loRequest);
	function callBack(aoJson){
		aoJson = json2Obj(aoJson);
		if(aoJson.Result == 1){		
			if(document.getElementById("cyFansMblogs"+page)){
				return;
			}		
			var leEditMblogs= document.getElementById("cyFansMblogs");
			var leDIV = document.createElement("div");
			leDIV.id = "cyFansMblogs"+page;
			leEditMblogs.appendChild(leDIV);
			builtUIforDaily("cyFansMblogs"+page, aoJson.Msg.info);
			changeOperPage_fan(aeP, page);
		}else{
			alert(0);
			var lePagewrapper = document.getElementById("cyFansMblogs"+(page-1));
			if(lePagewrapper){
				lePagewrapper.style.display = "block";
			}
			var leP = aeP.parentNode;
			if(aoJson.Msg == "empty mblogs"){
				leP.getElementsByTagName("a")[1].style.display = "none";
			}else{
				alert(aoJson.Msg);
			}
		}
	}	
} 
function changeOperPage_fan(aeP, page){
	var leP = aeP.parentNode;	
	var leA0  = leP.getElementsByTagName("a")[0], leA1  = leP.getElementsByTagName("a")[1];
	leA0.style.display = "";
	leA1.style.display = "";
	if(page == 1){
		leA0.style.display = "none";
	}
	leA0.onclick=function(){
		getMsblog_fan_page(leA0, page-1, -1);
	};	
	leA1.onclick=function(){
		getMsblog_fan_page(leA1, page+1, 1);
	};	
}

var wishesInfo = {};
//回复小字报
function openCompleteWishes(aoConf){
	masker.config.title = "回复小字报"; 
    masker.config.inner = maskerUtil.$("#completeWishes");
	masker.config.verticalAlign.open = false;
	masker.config.defWidth = 400;
	masker.config.scrollAble = true; 
	masker.config.resizeAble = true; 
	masker.init();
	
	wishesInfo.replyblogid = aoConf.replyblogid;
	wishesInfo.replyuserid = aoConf.replyuserid;	
	var leTextarea = document.getElementById("completeWishesInput");
	leTextarea.setAttribute("defValue", "@"+aoConf.name+" ");
	leTextarea.focus();
	
	var liCursorpos = aoConf.name.length+2;
	setCaretPosition(leTextarea, liCursorpos, liCursorpos);
	if(leTextarea){leTextarea.value = leTextarea.getAttribute("defValue");}
	
	var Tip = document.getElementById("tip_completeWishes");
	if(Tip){Tip.style.display = "none";}	
}
function completeWishes(aeP, event, aoConf){
	var leInput = document.getElementById("completeWishesInput");
	var contd = leInput.value;
	var cont = contd.substr(leInput.getAttribute("defValue").length);
	
	var lsURL = "http://artist.myspace.cn/profile/jsi.php";
	var loRequest={
		"webservices": lsURL,
		"contentType":"application/x-www-form-urlencoded",
		"values":["act=", "put_mblog", "&c=",cont, "&f=",wishesInfo.replyuserid, "&rbid=",wishesInfo.replyblogid].join("")
	};
	loadAjax(loRequest, callBack, "artist");
	function callBack(json){
		if(json && json.Result == 1) {
			leInput.value = leInput.getAttribute("defValue");
			var Tip = document.getElementById("tip_completeWishes");
			if(Tip){Tip.style.display = "block"; Tip.innerHTML = "回复成功!";}
			setTimeout(function(){
				masker.close();Tip.style.display = "none";
			}, 1000);
		}else{
			var Tip = document.getElementById("tip_completeWishes");
			if(Tip){Tip.style.display = "block"; Tip.innerHTML = "回复失败!"+json.Msg;}
		}
	}
}
//转发小字报
function openCompleteWishes_zf(aoConf){
	masker.config.title = "转发小字报"; 
    masker.config.inner = maskerUtil.$("#completeWishes_zf");
	masker.config.verticalAlign.open = false;
	masker.config.defWidth = 400;
	masker.config.scrollAble = true; 
	masker.config.resizeAble = true; 
	masker.init(); 	
	
	wishesInfo.replyblogid = aoConf.replyblogid;
	wishesInfo.replyuserid = aoConf.replyuserid;
	var Tip = document.getElementById("tip_completeWishes_zf");
	if(Tip){Tip.style.display = "none";}
	var leTextarea = document.getElementById("completeWishesInput_zf");
	leTextarea.setAttribute("defValue", "RT "+aoConf.name);
	leTextarea.focus();
	
	if(leTextarea){leTextarea.value = leTextarea.getAttribute("defValue")+" "+aoConf.v;}
	
	var liCursorpos = leTextarea.value.length;

	setCaretPosition(leTextarea, liCursorpos, liCursorpos);
}
function completeWishes_zf(aeP, event, aoConf){
	var leInput = document.getElementById("completeWishesInput_zf");
	var contd = leInput.value;
	var cont = contd.substr(leInput.getAttribute("defValue").length);
	
	var lsURL = "http://artist.myspace.cn/profile/jsi.php";
	var loRequest={
		"webservices": lsURL,
		"contentType":"application/x-www-form-urlencoded",
		"values":["act=","zhuanfa", "&c=",cont, "&buid=",wishesInfo.replyuserid, "&bbid=",wishesInfo.replyblogid].join("")
	};
	loadAjax(loRequest, callBack, "artist");
	function callBack(json){
		if(json && json.Result == 1) {
			var Tip = document.getElementById("tip_completeWishes_zf");
			if(Tip){Tip.style.display = "block";Tip.innerHTML = "转发成功!";}
			setTimeout(function(){
				masker.close();Tip.style.display = "none";
			}, 1000);
		}else{
			var Tip = document.getElementById("tip_completeWishes_zf");
			if(Tip){Tip.style.display = "block"; Tip.innerHTML = "转发失败!"+json.Msg;}
		}
	}
	

}
function closemark_lj(){
	masker.close();
}

function insBefore(aePaNode, aeBeNode, aeInsElem){
	//检查aePaNode是否存在(aePaNode是可选项)
	if(aeInsElem == null){
		aeInsElem = aeBeNode;
		aeBeNode = aePaNode;
		aePaNode = aeBeNode.parentNode;
	}
	//如果没有子节点则认为添加节点
	if(aeBeNode == null){
		aePaNode.appendChild(checkElem(aeInsElem));
		return false;
	}
	aePaNode.insertBefore(checkElem(aeInsElem), aeBeNode);
	return false;
	function checkElem(elem){
		//如果只提供字符串,则把它转化为文本节点
		return elem && elem.constructor == String ? document.createTextNode(elem) : elem;
	}
}
function getLastChild(aeElem){
	if(aeElem == null){
		alert(aeElem+" is not element!");
	}
	var leElem = null;
	leElem = aeElem.lastChild;
	if(leElem.nodeType!=1){
		do{
			leElem = leElem.previousSibling;
		}while(leElem && leElem.nodeType!=1);
	}
	return leElem;
}

function domReady(afCallback){
   if (!afCallback){
	   return;
   }
   if (document.addEventListener) {
	   document.addEventListener("DOMContentLoaded", function(){
		  afCallback()
	   }, false);
   }else{
	   (function(){
		  try {
			  document.documentElement.doScroll("left");
		  } catch(error) {
			  setTimeout( arguments.callee,0);
			  return;
		  }
		  afCallback();
	   })();
   }
}
//===================ajax 请求==================//
function loadServices(aoOBJ){
	var loXML = (window.ActiveXObject) ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
	try {
		loXML.open(aoOBJ.method || "POST", aoOBJ.webservices, false);
		if (aoOBJ.contentType){
			loXML.setRequestHeader("Content-Type", aoOBJ.contentType);
		}
		loXML.send(aoOBJ.values);
	} 
	catch (ex) {
		return "";
	}
	if (loXML != null && loXML.readyState == 4) {
		return loXML.responseText;
	}
	return "";
}
function loadAjax(aoObj, afCallback, asDomain){
	if(document.all){
		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/post.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].loadServices == 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(){
			afCallback(json2Obj(window.frames[lsFrameName].loadServices(aoObj)));
		}				
	}
	function action(afDelay){
		var timer = function(){
			try{
				document.documentElement.doScroll("left");
				afDelay();
			}catch(error) {
				var loErr=new Image();
				loErr.src="http://count.myspace.cn/images/error.gif?url="+location.href+"&service="+aoObj.webservices;
				setTimeout(timer, 200);
			}					
		}
		timer();
	}
}
function loadAjax_Asyn(option,path){
    if(navigator.userAgent.indexOf("IE")!=-1){ 
            (function(){ 
                    try{ 
                            document.documentElement.doScroll("left"); 
                            action(); 
                    }catch(error) {                                                  
                            setTimeout(arguments.callee, 200); 
                    }                                        
            })();
    }else{ 
            action(); 
    } 
    function action(){
            var xDomain = document.domain.split(".");
            if (xDomain.length >= 2){
                    document.domain=xDomain[xDomain.length-2] + "." + xDomain[xDomain.length-1];
            }
            if (!option||!option.url){ 
                    return; 
            }
            var liIndex=option.url.indexOf("/",7);
            var lsFrameUrl = option.url.substring(0,liIndex) + (path||"/ajax.html");
            var lsDomin= option.url.substring(7,liIndex).split(".").join("_");
            var lsFrameName = lsDomin + "_frame"; 
            var lsFrameWrapperId = lsDomin+"_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>'; 
                    listen(); 
            }else if(window.frames[lsFrameName].ajax == null){ 
                    listen(); 
            }else{ 
                    callback(); 
            } 
            function listen(){
                    var leIframe =  leFrameWrapper.getElementsByTagName("iframe")[0]; 
                    if (navigator.userAgent.indexOf("IE")!=-1) { 
                            leIframe.attachEvent("onload", callback); 
                    }else{ 
                            leIframe.addEventListener("load", callback, false); 
                    }
                    leIframe.src = lsFrameUrl;                               
            }
            function callback(){
                    var lsGUID="_ajax_callback"+Math.floor(Math.random()*16000).toString(16);
                    window[lsGUID]=option.callback||function(){};
                    option.callback=lsGUID;
                    var lxUrl=[];
                    
                    if(option.data){
                            for(var x in option.data){                                      
                                    lxUrl.push(x);
                                    lxUrl.push("=");
                                    lxUrl.push(option.data[x]);
                                    lxUrl.push("&");
                            }
                            lxUrl.pop();
                    }
                    if(option.method && option.method.toLowerCase()=="get"){
                            lxUrl.unshift(option.url.indexOf("?")==-1?"?":"&");
                            lxUrl.unshift(option.url);
                            option.url=lxUrl.join("");
                            option.data = "";
                    }else{
                            option.data = lxUrl.join("");
                    }
                    window.frames[lsFrameName].ajax(option); 
            }                               
    }                             
}   
function json2Obj(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 {};
}

function checkDefaultvalueExit(aeP, event){
	var e = window.event || event;
	var loPos = getCursorPosition(aeP);
	var liStart = loPos.start, liEnd = loPos.end;
	var lsDefvalue = aeP.getAttribute("defValue"), liLen = lsDefvalue.length;
	if(liStart >= liLen){
		return false;
	}else{
		var keyCode = e.keyCode;
		if(keyCode == 8){
			var str1 = lsDefvalue.substr(0, liLen), str2 = aeP.value.substr(liLen-1);
			var str = str1+lsDefvalue.substr(liLen, 1)+str2;
			aeP.value = str;
		}
		var end = liLen < liEnd? liEnd: liLen;
		setCaretPosition(aeP, liLen, end);
	}
	
}	
function getCursorPosition(textBox){        
    var start = 0, end = 0;
    if(typeof(textBox.selectionStart) == "number"){
        start = textBox.selectionStart;
        end = textBox.selectionEnd;
    }
    else if(document.selection) {
        var range = document.selection.createRange();
        if(range.parentElement().id == textBox.id) {
            var range_all = document.body.createTextRange();
            range_all.moveToElementText(textBox);
            for (start=0; range_all.compareEndPoints("StartToStart", range) < 0; start++)
                range_all.moveStart('character', 1);
            for (var i = 0; i <= start; i ++) {
                if (textBox.value.charAt(i) == '\n')
                    start++;
            }
            var range_all = document.body.createTextRange();
            range_all.moveToElementText(textBox);
            for (end = 0; range_all.compareEndPoints('StartToEnd', range) < 0; end ++) {
                range_all.moveStart('character', 1);
            }
            for (var i = 0; i <= end; i ++) {
                if (textBox.value.charAt(i) == '\n')
                    end ++;
            }
        }
    }
    return {"start": start, "end": end};
}
function setCaretPosition(ctrl, start, end){  
    if(ctrl.setSelectionRange){  
        ctrl.focus();  
        ctrl.setSelectionRange(start, end); 
    }else if(ctrl.createTextRange){
		var range = ctrl.createTextRange();
		range.collapse(true);
		range.moveEnd('character', end);
		range.moveStart('character', start);
		range.select(); 
    }
}

/* 视频内容是否变化 */
function cyFlashChangeCallback(aoJson){
	aoJson = json2Obj(aoJson);
	if (aoJson.Result == 0){ // 出错不管
		return;
	}

	if (aoJson.Msg.length == 0){ // 没变化
		return;
	} else {
		var type = aoJson.Msg.type;
		var url = aoJson.Msg.url;
		var config = aoJson.Msg.config;
		var click_url = aoJson.Msg.click_url;

		if ('image' == type){
			createImage(url, click_url, 'live_SWF');
		} else if ('flash' == type){
			var version = (new Date()).getTime();
			createSWF("http://lads.myspace.cn/player/player.swf?v=" + version, "live_SWF", 470, 394, config, url);
		} else if ('other' == type){
			createOutFlash(url, 'live_SWF');
		}

		cyFlash_type = type;
		cyFlash_url = url;
	}
	return;
}
function cyCheckFlashChange(){
	var cyType = cyFlash_type;
	var cyVideoUrl = cyFlash_url;
	var loRequest={
		"url": cyFlUrl,
		"method":"post",
		"data":{"act": "", "t": cyType, "url": cyVideoUrl},
		"callback":cyFlashChangeCallback
	};
	loadAjax_Asyn(loRequest);	
}

/* cy add , sync suji */
function suji_callback(aoJson){
	aoJson = json2Obj(aoJson);
	if (aoJson.Result != 1){
		return;
	}
	document.getElementById('cySujiDiv').innerHTML = aoJson.Msg;
	var target = document.getElementById("chatContent_cvc");
	setContentToContent(target);
}
function getSuji(aeP, event, aoConf){
	
	var d = new Date();
	var cyInter = d.getTime() - jsStart;
	var loRequest={
		"url": cyFlUrl+"?v="+cyInter,
		"method":"post",
		"data":{"act": "multi", "c": "7"},
		"callback": suji_callback
	};
	loadAjax_Asyn(loRequest);	
}
function setContentToContent(aeP){
	var sHeight = aeP.scrollHeight;
	var oHeight = aeP.offsetHeight;
	if(sHeight > oHeight){
		aeP.scrollTop = (sHeight- oHeight);
	}
}



   