var _keepAliveTime=2023;
var _getGroupTime=3000;
var _getUserTime=3000;
var _loginTime=3000;
var _loginTimeOutNum=10;
var _checkNksTime=400;
var _keepAliveTimeout=20000;
var _checkKeepAliveTime=5000;
var currentUserActive=0;
var _lastStatusMap=new Map();
var url='webwwtb';
var cookie_fix='CHECKCODE';
var cookie_validate_fix='VALIDATE2010';
var active_limit=999999;
var sndArr=new Array();
sndArr['msg']='http://www.im.alisoft.com/webww_taobao/images/msg.swf';
sndArr['online']='http://www.im.alisoft.com/webww_taobao/images/online.swf';
sndArr['offline']='http://www.im.alisoft.com/webww_taobao/images/offline.swf';
sndArr['system']='http://www.im.alisoft.com/webww_taobao/images/system.swf';
var _currentId=null;
var _current2Style=null;
var _current2Id=null;
var needLogout=false;
var _hasReceiveMsg=false;
var SP1=String.fromCharCode(1);
var SP2=String.fromCharCode(2);
var SP3=String.fromCharCode(3);
var tabCount=0;
var openFlag=0;
var t1=0;
var t2=0;
var downloadUrl = "http://im.alisoft.com/download/taobao.html";
var downloadLogSendUrl = "http://www.alisoft.com/portal/promotion/alitalk/tbfuchu/webim.html?tracelog=alitalk_webim_index";
var kickout = false;
var sysMsg = '<font color="#0044DD">\u7cfb\u7edf\u6d88\u606f</font>';
var logoutUrl = 'http://member1.taobao.com/member/login.jhtml';
//var logoutUrl = 'http://www2.im.alisoft.com/webim/aso?domain=taobao&target=webwwtb&sign_account=nick';

function filterURL(str)
{
    var a=str.replace(/((ftp|http|https):\/\/|www\.)([\w\/\.\?\+&#%=;,-]+)/ig,'<a href="$1$3" target="_blank">$1$3</a>');
    a=a.replace(/href="([^(http:\/\/)(ftp:\/\/)(https:\/\/)])/ig,'href="http:\/\/$1');
	return str;
}
function debug(str)
{
}
function myAJAX(func,data)
{
    return sAJAX(func,'post',url,data,function(req)
    {
        alert('\u7cfb\u7edf\u5f02\u5e38\uff0c\u9519\u8bef\u4ee3\u7801\uff1a'+req.status);
    }
    );
}

function touid(id)
{
    if(!id)return id;
    return unescape(id.replace(/\$/g,'%'));
}
function toid(uid)
{
    return escape(uid).replace(/\%/g,'$');
}
function getCK(cookiename)
{
    var thebigcookie=document.cookie;
    var firstchar=thebigcookie.indexOf(cookiename+"=");
    if(firstchar!=-1)
    {
        firstchar+=cookiename.length+1;
        lastchar=thebigcookie.indexOf(";",firstchar);
        if(lastchar==-1)
        {
            lastchar=thebigcookie.length;
        }
        return unescape(thebigcookie.substring(firstchar,lastchar));
    }
    return"";
}
function setCK(cookieName,value)
{
    var t=new Date();
    t.setTime(t.getTime()+1000*60*60*24*1);
    document.cookie=cookieName+'='+value+';expires='+t.toGMTString();
}
function funcSetCookieA(name,value,days)
{
    var argv=funcSetCookieA.arguments;
    var argc=funcSetCookieA.arguments.length;
    var expires=new Date();
    expires.setTime(expires.getTime()+(86400*1000*days));
    var domain=(3<argc)?argv[3]:document.domain;
	var path=(4<argc)?argv[4]:"/";
    document.cookie=name+"="+value+((expires==null)?"":("; expires="+expires.toGMTString()))+((path==null)?"/":("; path="+path))+((domain==null)?"":("; domain="+domain));
}
var main_nick='';
var loop_flag=1;
function pause()
{
    checkWW();
    loop_flag=0;
}
function play()
{
    loop_flag=1;
    checkWW();
}
function checkWW()
{
    if(loop_flag==0)
    {
        return;
    }
    var nks=getCK("_nks_");
    if(nks!="")
    {
        var tp=nks.split('||');
        if(tp&&tp.length>0)
        {
            var mk=tp[0];
            if(main_nick=='')
            {
                main_nick=mk;
            }
            else
            {
                if(main_nick!=mk)
                {
                    if(main_nick=='_nk_')
                    {
                        main_nick=mk;
                    }
                    else
                    {
                        setTimeout("checkWW()",_checkNksTime);
                        return;
                    }
                }
            }
            var nicks=tp[1];
            var tmp=nicks.split(',');
            if(tmp&&tmp.length>0)
            {
                for(var i=0;i<tmp.length;i++)
                {
                    var tid=tmp[i];
					tid = checkUidSite(tid);
                    tid=toid(tid);
                    if(tid=='sw')
                    {
                        try
                        {
                            window.focus();
                        }
                        catch(e)
                        {
                        }
                        continue;
                    }
                    sayTo(tid);
					simpleSayTo();
                }
                setCK("_nks_","");
            }
        }
    }
    setTimeout("checkWW()",_checkNksTime);
}
function checkStatusOnload()
{
    if(openFlag==0&&window.opener)
    {
        openFlag=1;
    }
    var wwi=false;
    try
    {
        wwi=wangwangInstalled;
    }
    catch(e)
    {
    }
	var tid = '';
	var _last_login_ver = getCK("__last_login_ver__");
	funcSetCookieA("__last_login_ver__","",365,"im.alisoft.com");
	if(!isEmpty(_last_login_ver)){
		onClientError('Check client cookie:'+_last_login_ver,'ww2_v2_out.js','191');
		var nks=getCK("_nks_");
		if(nks!="")
		{
			var tp=nks.split('||');
			if(tp&&tp.length>0)
			{
				var nicks=tp[1];
				var tmp=nicks.split(',');
				if(tmp&&tmp.length>0)
				{
					for(var i=0;i<tmp.length;i++)
					{
						tid=tmp[i];
					}
				}
			}
		}
		var vers = _last_login_ver.split("||");
		var command = '';
		if(vers[0]=='5x'){
			command = "wangwang:SendIM?uid="+getSiteNameUid(tid)+"&tositeid=cntaobao&suid=&status=1";
			window.location.href = command;
			setTimeout('closeWindow()',200);
			return;
		}
		else if(vers[0]=='6x'){
			if(!checkSite(tid)){
				tid = 'cntaobao'+tid;
			}
			command = "aliim:sendmsg?uid=&touid="+tid+"&siteid=&status=1";
			window.location.href = command;
			setTimeout('closeWindow()',200);
			return;
		}
	}
	checkLoginStatus();
}

function closeWindow(){
	window.opener =null;
	window.close();
}

function checkLoginStatus()
{
    var pars='act=doCheckStatus'+'&kp='+now();
myAJAX(function(originalRequest)
{
    var res=originalRequest.responseText;
    debug(res);
    var tmp=res.split(SP1);
    var resCode=(tmp&&tmp.length>0)?tmp[0]:'';
    var uid=(tmp&&tmp.length>1)?tmp[1]:'';
    if(resCode!='LOGING')
    {
        if(resCode=='ONLINE')
        {
            $('newMsgArea').style.display='block';
            $('toolsArea').style.display='block';
            try
            {
                $('toolsAreaStatus').style.display='none';
            }
            catch(e)
            {
            }
            _addSystemMsg('\u767b\u5f55\u6210\u529f');
            $('loginForm')['uid'].value=uid;
            document.title='\u963f\u91cc\u65fa\u65fa-'+getSiteNameUid($('loginForm')['uid'].value);
            keepAlive();
            checkKeepAlive();
            //getOfflineMsg();
            showAlert();
            checkWW();
            window.onfocus=pause;
            window.onblur=play;
        }
        else
        {
			if("jump"==uid){
				window.location=resCode;
			}
			else{
				$('toolsAreaStatus').innerHTML="<font color=\"#DD0000\">登陆失败："+resCode+"!</font>";
			}
            return;
        }
    }
    else
    {
		_loginTimeOutNum--;
		if(_loginTimeOutNum>0){
			$t('checkLoginStatus()',_loginTime);
			try
			{
				$('toolsAreaStatus').style.display='block';
			}
			catch(e)
			{
			}
		}
		else{
			try
			{
				$('toolsAreaStatus').innerHTML="<font color=\"#DD0000\">登陆超时，请稍后重试!</font>";
			}
			catch(e)
			{
			}
		}
    }
}
,pars);
}
function getGroupList()
{
    var pars='act=doGetGroupList';
    _addSystemMsg('\u83b7\u53d6\u7ec4\u5217\u8868');
myAJAX(function(originalRequest)
{
    var resCode=originalRequest.responseText;
    if(resCode!='ING')
    {
        $('friendArea').innerHTML='';
        _addGroupArea(0,'\u672a\u5206\u7ec4');
        var gs=resCode.split(SP1);
        for(var i=0;i<gs.length;++i)
        {
            var gss=gs[i].split(SP2);
            if(gss&&gss.length==2)
            {
                _addGroupArea(gss[0],gss[1]);
            }
        }
        _addSystemMsg('\u7ec4\u5217\u8868\u83b7\u53d6\u6210\u529f');
        getFriendList();
    }
    else
    {
        $t('getGroupList()',_getGroupTime);
    }
}
,pars);
}
function _addGroupArea(groupId,groupName)
{
    var ge=$c('div','group_'+groupId,$('friendArea'));
    var lb=$c('label','groupController_'+groupId,ge);
    lb.className='groupName';
    lb.innerHTML=groupName;
    lb.onclick=_showGroupDetail;
    var ge1=$c('div','groupUser_'+groupId,ge);
    ge1.className='userArea';
}
function _showGroupDetail(e)
{
    if(!e)var e=event;
    var lb=e.target||e.srcElement;
    if(!lb)return;
    var id=lb.id.substring(16);
    var userArea=$('groupUser_'+id);
    if(!userArea)return;
    if(userArea.style.display&&userArea.style.display=='none')
    {
        userArea.style.display='';
    }
    else
    {
        userArea.style.display='none';
    }
}
function getFriendList()
{
    var pars='act=doGetFriendList';
    _addSystemMsg('\u83b7\u53d6\u597d\u53cb\u5217\u8868');
myAJAX(function(originalRequest)
{
    var resCode=originalRequest.responseText;
    if(resCode!='ING')
    {
        var gs=resCode.split(SP1);
        for(var i=0;i<gs.length;++i)
        {
            var gss=gs[i].split(SP2);
            if(gss&&gss.length==2)
            {
                _addUser(gss[1],gss[0]);
            }
        }
        _addSystemMsg('\u597d\u53cb\u5217\u8868\u83b7\u53d6\u6210\u529f');
        keepAlive();
        checkKeepAlive();
        getOfflineMsg();
        getFriendStatus();
        showAlert();
    }
    else
    {
        $t('getFriendList()',_getUserTime);
    }
}
,pars);
}
function _addUser(uid,gid)
{
    var g=$('groupUser_'+gid);
    if(!g)g=$('groupUser_0');
    var udiv=$c('div','userArea_'+toid(uid),g);
    udiv.style.display='block';
    var lb=$c('label','user_'+toid(uid),udiv);
    lb.innerHTML=uid+' ';
    lb.onclick=_sayTo;
    var slb=$c('label','user_status_'+toid(uid),udiv);
    slb.className='uidStatus';
}
function getFriendStatus()
{
    var pars='act=doGetAllContactStatus';
    _addSystemMsg('\u83b7\u53d6\u597d\u53cb\u72b6\u6001');
    myAJAX(null,pars);
}
function getOfflineMsg()
{
    var pars='act=doGetOfflineMsg'+'&kp='+now();
    _addSystemMsg('\u83b7\u53d6\u79bb\u7ebf\u6d88\u606f');
    myAJAX(null,pars);
}
function _sayTo(e)
{
    if(!e)var e=event;
    var u=e.target||e.srcElement;
    if(!u)return;
    sayTo(u.id.substring(5));
}
function sayTo(id,flag)
{	
	/**** 增加分流脚本 ***/
	if(flag!="n"){
		var data = 'act=doGetEscId&toUid='+touid(id);
		myAJAX(function(originalRequest)
		{
			_display(_currentId,false);
			id=originalRequest.responseText;
			_currentId=toid(id);
			_display(_currentId,true);
			$('tbUser').value=touid(getSiteUid(id));
		},data);
	}else{
		_display(_currentId,false);
		_currentId=id;
		_display(_currentId,true);
		$('tbUser').value=touid(getSiteUid(id));
	}
}
function _getChatDialog(id)
{
    var c=$('chatMainSpan_'+id);
    if(!c)
    {
		var cokvalue = getCK(cookie_fix+id);
		if(cokvalue!='' || currentUserActive>active_limit){
			c=_createChatDialog(id);
		}else{
			c=_createValidateDialog(id);
		}
    }
    return c;
}

//功能介绍：判断指定的字段是否有非法字符<>
function funcCheckInvalidChar(obj)
{
	if (obj == null || obj == "")
	{
		return true;
	}
	var pattern = /[<>\\]/;
    if(pattern.test(obj)){
       return false;
        
 	}else{
		return true;
 	}
}


function _display(id,dis)
{
    if(id==null||id=='')
    {
        return;
    }
    var chatArea=_getChatDialog(id);
    var val='none'
    if(dis==true)
    {
        val='';
        chatArea.className='Online Select';
    }
    else
    {
        chatArea.className='Online';
    }
    var c=$('chatDisplay_'+id);
    if(c)
    {
        c.style.display=val;
    }
    var d=$('chatInputDiv_'+id);
    if(d)
    {
        d.style.display=val;
        if(dis==true)
        {
            var ci=$('chatInput_'+id);
            if(ci)
            {
                ci.focus();
            }
        }
    }
	var f=$('checkMsgDiv'+id);
    if(f)
    {
        f.style.display=val;
    }

	$('site').value='cntaobao';
	$('tbUser').value=getSiteUid(id);
}
function _createChatDialog(id)
{
    var mainSpan=$c('span','chatMainSpan_'+id,$('newMsgContent'));
    tabCount++;
    var u=$c('input');
    u.type='hidden';
    u.id='toUid'+id;
    u.value=touid(id);
    mainSpan.appendChild(u);
    var lb=$c('span','msgHit_'+id,mainSpan);
    lb.innerHTML="<a href=\"#\" onclick=\"sayTo('"+id+"','n');\" title=\""+touid(getSiteNameUid(id))+"\">"+touid(getSiteNameUid(id))+"</a>";
    mainSpan.innerHTML=mainSpan.innerHTML+"<a href=\"javascript:_closeAW('"+id+"')\" class=\"Close\">\u5173\u95ed</a>";
    var dis=$c('div','chatDisplay_'+id,$('ChatNoteArea'));
    dis.className='ChatNote';
    dis.style.display='none';
    var inputDiv=$c('div','chatInputDiv_'+id,$('Input'));
    inputDiv.style.display='none';
    var input=$c('textarea','chatInput_'+id);
    input.name='msg';
    input.onfocus=stopAlert;
    input.onkeydown=function()
    {
        try
        {
            _range=document.selection.createRange();
        }
        catch(e)
        {
        }
    };
    input.onclick=function()
    {
        try
        {
            _range=document.selection.createRange();
        }
        catch(e)
        {
        }
    };
    inputDiv.appendChild(input);
    var btn=$c('input','btn_'+id);
    btn.type='button';
	btn.className='fontDefault';
    btn.value='\u53d1\u9001';
    btn.onclick=doSay;
    inputDiv.appendChild(btn);
    var d=dis;
    var msgDiv=null;
    msgDiv=$c('div','msg_notify',d);
    msgDiv.style.display='block';
    msgDiv.style.marginLeft='8';
    msgDiv.style.marginTop='5';
    msgDiv.style.marginBottom='2';
	var htmlStr = '<table width="100%" border="0" cellpadding="0" cellspacing="0" style="font-size:12px">';
		htmlStr +='<tr>';
		htmlStr +='<td rowspan="2"><img src="http://www.im.alisoft.com/webww_taobao/images/warn.jpg" /></td>';
		htmlStr +='<td align="left">&nbsp;\u65fa\u65fa\u804a\u5929\u8bb0\u5f55\u53ef\u4ee5\u505a\u4e3a\u4ea4\u6613\u51ed\u636e\uff0c\u5177\u6709\u6cd5\u5f8b\u4f9d\u636e\uff01</td>';
		htmlStr +='</tr>';
		htmlStr +='<tr>';
		htmlStr +='<td align="left">\u201c\u7f51\u9875\u7248\u201d\u65fa\u65fa\u4e0d\u80fd\u4fdd\u5b58\u804a\u5929\u8bb0\u5f55\uff0c\u4e3a\u4e86\u60a8\u7684\u5229\u76ca\uff0c\u8bf7\u4f7f\u7528<a href="'+downloadUrl+'" target="_blank" onclick="downloadLogSend();">\u201c\u8f6f\u4ef6\u7248\u201d\u963f\u91cc\u65fa\u65fa\uff01</a></td>';
		htmlStr +='</tr>';
		htmlStr +='</table>';
    msgDiv.innerHTML=htmlStr;
    return mainSpan;
}

/***************************2009*******************************/

function getRnd(min,max){
       var num = 6;//指定返回的个数
      var array = new Array();
      var value = 0;
      var i = 0;
      while(i < num) {
            value = parseInt(Math.random()*(max-min+1))
             if(!in_array(value,array)) {
                    array[i] = value;
                  i++;
             }
     }
     //return array;
	 var retStr = '';
	 for(var s=0;s<array.length;s++){
		retStr += array[s];
	 }
	 return retStr;
}

 

//判断是否在数组中已经存在该值

function in_array(value, array) {
       for (s = 0; s <array.length; s++) {
             thisEntry = array[s].toString();
              if (thisEntry == value) {
                  return true;
            }
        }
       return false;
}


var encryption = function(){ 
	var date = new Date(); 
	var times1970 = date.getTime(); 
	var times = date.getDate() + "" + date.getHours() + "" + date.getMinutes() + "" + date.getSeconds(); 
	var encrypt =  times * times1970 + getRnd(1,20); 
	if(arguments.length == 1){ 
		return arguments[0] + encrypt+'00000000000000'; 
	}else{ 
		return encrypt+'00000000000000'; 
	} 
} 




function _updateToValidateDialog(id){
	var romdom_num = encryption();
	romdom_num = romdom_num.substr(0,32);
	var mainSpan = $('chatMainSpan_'+id);
	
	var dis=$('chatDisplay_'+id);

	//判断是否要输入验证码
	var needCheck = 1;  //需要

	var checkHtmlStr = '<table width="100%" border="0" cellpadding="0" cellspacing="0" style="font-size:12px">';
		checkHtmlStr +='<tr>';
		checkHtmlStr +='<td align="left" style="padding-left:10px">输入验证码:<input type="text" onkeydown="checkcodeConfirmKeyDown(\''+romdom_num+'\',\''+id+'\')" name="checkcode'+id+'" id="checkcode'+id+'" style="float:none;align:left;width:55px;height:20px;line-height:15px" size=5 maxlength=5 >';
		checkHtmlStr +='<iframe name="validateFrame'+id+'" id="validateFrame'+id+'" src="http://checkcode.alisoft.com/alisoft/checkcode?sessionID=';
		checkHtmlStr +=romdom_num;
		checkHtmlStr +='" width="150" height="40" frameborder=0 scrolling=no align=middle marginwidth=0 marginheight=0 vspace=0 hspace=0></iframe>';
		checkHtmlStr +='<a href="#nogo" onclick="doRefresh(\''+romdom_num+'\',\''+id+'\')">看不清？换一张图片</a></td>';
		checkHtmlStr +='<td align="left" rowspan=2><input type="button" name="codeSubmitBtn" onclick="checkcodeConfirm(\''+romdom_num+'\',\''+id+'\')" class="fontDefault" value="提交"></td>';
		checkHtmlStr +='</tr>';
		checkHtmlStr +='<tr colspan=2>';
		checkHtmlStr +='<td align="left" style="padding-left:10px">为了更安全,更方便的使用阿里旺旺,建议你下载最新版本客户端.<a href=\"'+downloadUrl+'\" target=\"_blank\">点此下载</a></td>';
		checkHtmlStr +='</tr>';
		checkHtmlStr +='</table>';

	var checkMsgDiv=null;
    checkMsgDiv=$c('div','checkMsgDiv'+id,dis);
    checkMsgDiv.style.display='none';
	checkMsgDiv.innerHTML=checkHtmlStr;
    var inputDiv=$('chatInputDiv_'+id);
    //inputDiv.style.display='none';
	
	/** 如果原来对象的存在先移除 **/
    var input=$('chatInput_'+id);
	var btn=$('btn_'+id);
	alert(input);
	try{
		inputDiv.removeChild(input);
	}catch(e){alert(e)}
	try{
		inputDiv.removeChild(btn);
	}catch(e){}

	inputDiv.appendChild(checkMsgDiv);
	$('checkcode'+id).focus();
    return mainSpan;
}


/****  增加验证码输入框   ****/
function _createValidateDialog(id)
{
	var romdom_num = encryption();
	romdom_num = romdom_num.substr(0,32);
	var mainSpan=$c('span','chatMainSpan_'+id,$('newMsgContent'));
    tabCount++;
    var u=$c('input');
    u.type='hidden';
    u.id='toUid'+id;
    u.value=touid(id);
    mainSpan.appendChild(u);
    var lb=$c('span','msgHit_'+id,mainSpan);
    lb.innerHTML="<a href=\"#\" onclick=\"sayTo('"+id+"','n');\" title=\""+touid(getSiteNameUid(id))+"\">"+touid(getSiteNameUid(id))+"</a>";
    mainSpan.innerHTML=mainSpan.innerHTML+"<a href=\"javascript:_closeAW('"+id+"')\" class=\"Close\">\u5173\u95ed</a>";
    var dis=$c('div','chatDisplay_'+id,$('ChatNoteArea'));
    dis.className='ChatNote';
    dis.style.display='none';


	//判断是否要输入验证码
	var needCheck = 1;  //需要
	
	var checkHtmlStr = '<table width="100%" border="0" cellpadding="0" cellspacing="0" style="font-size:12px">';
		checkHtmlStr +='<tr>';
		checkHtmlStr +='<td align="left" style="padding-left:10px">输入验证码:<input type="text" onkeydown="checkcodeConfirmKeyDown(\''+romdom_num+'\',\''+id+'\')" name="checkcode'+id+'" id="checkcode'+id+'" style="float:none;align:left;width:55px;height:20px;line-height:15px" size=5 maxlength=5 >';
		checkHtmlStr +='<iframe name="validateFrame'+id+'" id="validateFrame'+id+'" src="http://checkcode.alisoft.com/alisoft/checkcode?sessionID=';
		checkHtmlStr +=romdom_num;
		checkHtmlStr +='" width="150" height="40" frameborder=0 scrolling=no align=middle marginwidth=0 marginheight=0 vspace=0 hspace=0></iframe>';
		checkHtmlStr +='<a href="#nogo" onclick="doRefresh(\''+romdom_num+'\',\''+id+'\')">看不清？换一张图片</a></td>';
		checkHtmlStr +='<td align="left" rowspan=2><input type="button" name="codeSubmitBtn" onclick="checkcodeConfirm(\''+romdom_num+'\',\''+id+'\')" class="fontDefault" value="提交"></td>';
		checkHtmlStr +='</tr>';
		checkHtmlStr +='<tr colspan=2>';
		checkHtmlStr +='<td align="left" style="padding-left:10px">为了更安全,更方便的使用阿里旺旺,建议你下载最新版本客户端.<a href=\"'+downloadUrl+'\" target=\"_blank\">点此下载</a></td>';
		checkHtmlStr +='</tr>';
		checkHtmlStr +='</table>';

	var checkMsgDiv=null;
    checkMsgDiv=$c('div','checkMsgDiv'+id,d);
    checkMsgDiv.style.display='none';
	checkMsgDiv.innerHTML=checkHtmlStr;
    var inputDiv=$c('div','chatInputDiv_'+id,$('Input'));
    
	inputDiv.appendChild(checkMsgDiv);
	
    var d=dis;
    var msgDiv=null;
    msgDiv=$c('div','msg_notify',d);
    msgDiv.style.display='block';
    msgDiv.style.marginLeft='8';
    msgDiv.style.marginTop='5';
    msgDiv.style.marginBottom='2';
	var htmlStr = '<table width="100%" border="0" cellpadding="0" cellspacing="0" style="font-size:12px">';
		htmlStr +='<tr>';
		htmlStr +='<td rowspan="2"><img src="http://www.im.alisoft.com/webww_taobao/images/warn.jpg" /></td>';
		htmlStr +='<td align="left">&nbsp;\u65fa\u65fa\u804a\u5929\u8bb0\u5f55\u53ef\u4ee5\u505a\u4e3a\u4ea4\u6613\u51ed\u636e\uff0c\u5177\u6709\u6cd5\u5f8b\u4f9d\u636e\uff01</td>';
		htmlStr +='</tr>';
		htmlStr +='<tr>';
		htmlStr +='<td align="left">\u201c\u7f51\u9875\u7248\u201d\u65fa\u65fa\u4e0d\u80fd\u4fdd\u5b58\u804a\u5929\u8bb0\u5f55\uff0c\u4e3a\u4e86\u60a8\u7684\u5229\u76ca\uff0c\u8bf7\u4f7f\u7528<a href="'+downloadUrl+'" target="_blank" onclick="downloadLogSend();">\u201c\u8f6f\u4ef6\u7248\u201d\u963f\u91cc\u65fa\u65fa\uff01</a></td>';
		htmlStr +='</tr>';
		htmlStr +='</table>';
    msgDiv.innerHTML=htmlStr;
	try{
		$('checkcode'+id).focus();
	}catch(e){}
    return mainSpan;
}


/****  刷新验证码  ****/
function doRefresh(sessionId,id){
	var thebigcookie=document.cookie;
	var url = 'http://checkcode.alisoft.com/alisoft/checkcode?sessionID='+sessionId;
	var sss = document.getElementById('validateFrame'+id);
	$('checkcode'+id).value="";
	sss.src= url;
	$('checkcode'+id).focus();
}

/*****  判断回车事件  ****/
function keydownEvt (evt){
	evt = (evt) ? evt : ((window.event) ? event : null); 
	if (evt) {
		if(evt.keyCode == 13){
			return true;
		}
	}
	return false;
}


function checkcodeConfirmKeyDown(sessionId,id){
	if(!keydownEvt()){
		return;
	}
	checkcodeConfirm(sessionId,id);
}


function checkcodeConfirm(sessionId,id){
	var checkcode = $('checkcode'+id).value;
	if(checkcode==''){
		alert('请输入验证码!');
		$('checkcode'+id).focus();
		return;
	}else{
		var patn = /^[^\s?<>\'\"!@%#$~&*():;]*$/;
		if(!patn.test( checkcode )){
			alert('验证码输入错误!');
			doRefresh(sessionId,id);
			return;
		}
	}
	var toUidEle=$('toUid'+id);

	var cokvalidvalue = getCK(cookie_validate_fix+jsEncode(toUidEle.value));

	var data = 'act=doCheckcode&sessionID='+sessionId+'&checkcode='+checkcode+'&toUid='+jsEncode(toUidEle.value)+'&checkCodeStr='+cokvalidvalue;
	myAJAX(
		function(originalRequest)
	{
		var resCode=originalRequest.responseText;
		if(resCode=='checkcode error'){
			alert('验证码错误,请重新输入!');
			doRefresh(sessionId,id);
		}else if(resCode=='checkcode ok'){
			showInputArea(id);
			$('chatInput_'+id).focus();
		}
	}
	,data);
}


function checkUserActive(){
	if((currentUserActive*1)!=0){
		return;
	}
	
	var data = 'act=doGetActiveDegree';
	myAJAX(
		function(originalRequest)
		{
			currentUserActive=originalRequest.responseText;
		}
		,data);
}


setInterval("checkUserActive()",1000);


function showInputArea(id){
	var checkMsgDiv=null;
    checkMsgDiv=$('checkMsgDiv'+id);
    var inputDiv=$('chatInputDiv_'+id);
    //inputDiv.style.display='none';
	inputDiv.removeChild(checkMsgDiv);

	/****/
    var input=$c('textarea','chatInput_'+id);
    input.name='msg';
    input.onfocus=stopAlert;
    input.onkeydown=function()
    {
        try
        {
            _range=document.selection.createRange();
        }
        catch(e)
        {
        }
    };
    input.onclick=function()
    {
        try
        {
            _range=document.selection.createRange();
        }
        catch(e)
        {
        }
    };
    inputDiv.appendChild(input);
    var btn=$c('input','btn_'+id);
    btn.type='button';
	btn.className='fontDefault';
    btn.value='\u53d1\u9001';
    btn.onclick=doSay;
    inputDiv.appendChild(btn);
}



/**************************2009*******************************/


function showMoreFunction()
{
    var msg='\u5982\u679c\u60a8\u60f3\u8981\u4f7f\u7528\u5168\u90e8\u529f\u80fd\uff0c\u5305\u62ec\uff1a\u804a\u5929\u5386\u53f2\u8bb0\u5f55\uff0c\u597d\u53cb\u7ba1\u7406\uff0c\u53d1\u9001\u6587\u4ef6\uff0c\u8bed\u97f3\u89c6\u9891\u804a\u5929\uff0c\u591a\u4eba\u5546\u52a1\u6d3d\u8c08\u7b49\uff0c<a href="'+downloadUrl+'" target="_blank" onclick="downloadLogSend();">\u8bf7\u70b9\u51fb\u4e0b\u8f7d\u963f\u91cc\u65fa\u65fa\u3002</a>';
    var xxx=_currentId;
    if(!xxx)
    {
        xxx='\u7cfb\u7edf\u6d88\u606f';
    }
    _addMsg(xxx,'<font color="#0044DD">\u7cfb\u7edf\u63d0\u9192</font>',msg);
}
function _closeAW(id)
{
    var el=$('chatMainSpan_'+id);
    var p=el.parentNode;
    p.removeChild(el);
    el=$('chatDisplay_'+id);
    p=el.parentNode;
    p.removeChild(el);
    el=$('chatInputDiv_'+id);
    p=el.parentNode;
    p.removeChild(el);
	_lastStatusMap.remove(id);
    if(id==_currentId)
    {
        //_currentId=null;
		var objArray = document.getElementsByTagName("span");
		if(objArray.length>0){
			for(var i=0; i<objArray.length; i++){
				var objId = objArray[i].id;
				if(objId.indexOf("chatMainSpan_")==0){
					_currentId = objId.substring("chatMainSpan_".length,objId.length);
					break;
				}
			}
			sayTo(_currentId,true);
		}
		else{
			_currentId = null;
		}
    }
    tabCount--;
    p=null;
    el=null;
}
function _clearMsg(e)
{
    if(!e)e=event;
    var u=e.target||e.srcElement;
    if(!u)return;
    var id=u.id.substring(9);
    var d=$('chatDisplay_'+id);
    if(d)d.innerHTML='';
}
function _getNewMsgHit(id,create)
{
    var e=$('msgHit_'+id);
    return e;
}
function doSay(e)
{
    var d=new Date();
    if(t1==0)
    {
        t1=d.getTime();
    }
    else
    {
        t2=d.getTime();
        if(t2-t1<=1000)
        {
            alert('\u5bf9\u4e0d\u8d77\uff0c\u60a8\u57281\u79d2\u949f\u5185\u6700\u591a\u53ea\u80fd\u53d12\u6761\u6d88\u606f\uff0c\u8bf7\u7a0d\u7b49\u4e00\u4e0b\u518d\u53d1!');
            return;
        }
        t1=t2;
    }
    var id=_currentId;
    var n=d.getTime();
    var fid='chatMainSpan_'+id;
    if($(fid))
    {
        var ele=$('chatInput_'+id);
        var toUidEle=$('toUid'+id);
        if(ele&&ele.value!='')
        {
            if(ele.value=='\n')
            {
                $('chatInput_'+id).value='';
                $('chatInput_'+id).focus();
                return;
            }
            if(ele.value.byteLength()>400)
            {
                alert('\u53d1\u9001\u5185\u5bb9\u592a\u957f\uff0c\u4e0d\u80fd\u8d85\u8fc7400\u4e2a\u5b57\u7b26');
                return;
            }
            _hasReceiveMsg=true;
            var _msg=ele.value;
            var wo=$('loginForm')['uid'].value;
			wo = getSiteNameUid(wo);
            var amsg=_msg.replace(/\</g,'&lt;').replace(/\"/g,'&quot;').replace(/\>/g,'&gt;').replace(/\n/g,'<br />').replace(/<br \/>$/g,'');
			//_addMsg(id,wo,amsg,true,n);
			var param='act=doSendMsg&msgId='+n+'&msg='+jsEncode(_msg.replace(/\n$/g,''))+'&toUid='+jsEncode(toUidEle.value)+'&kp='+now();
			myAJAX(function(originalRequest){
				var resCode=originalRequest.responseText;
				var ret=resCode.split(SP1);
				var msgId=ret[1];
				var toUid=ret[2];
				var msg=ret[3];
				var time=ret[4];
				if(!ret||ret.length!=5){
					_addSystemMsg('\u53d1\u9001\u4fe1\u606f\u64cd\u4f5c\u5931\u8d25');
					alert('\u53d1\u9001\u4fe1\u606f\u64cd\u4f5c\u5931\u8d25:'+resCode);

					if(resCode=='checkcode not validate'){
						_updateToValidateDialog(id);
					}
					return;
				}
				if(ret[0]!='OK'){
					_addMsg(toid(toUid),sysMsg,'\u53d1\u9001\u5931\u8d25\uff1a'+getSiteNameUid(toUid));
				}
				else{
					msg=msg.replace(/\n/g,'<br />').replace(/<br \/>$/g,'');
					//_addMsg(toid(toUid),wo,msg+' <span class="TimeStamp">('+time+')</span>',true,msgId);
					_addMsg(id,wo,amsg,true,n);
				}
			}
			,param);

			ele.value='';
			ele.focus();
			stopAlert();
		}
	}
	else
	{
		alert(fid)
	}
}
function _addMsg(id,fid,m,me,msgId , sendFlag)
{
    var cd=_getChatDialog(id);
    var d=$('chatDisplay_'+id);
	try{
		var msgDiv=null;
		if(msgId)msgDiv=$('msg_'+msgId);
		if(!msgDiv)
		{
			msgDiv=$c('div','msg_'+msgId,d);
			msgDiv.style.display='block';
		}
		msgDiv.innerHTML='';
		if(sendFlag){
			var sendbutton = $('btn_'+id);
			sendbutton.disabled = true;
		}
		d.scrollTop=655350;
	}catch(e){}
	var fidLb=$c('label',null,msgDiv);
    fidLb.className='sender';
    fidLb.innerHTML=fid+'\uff1a';
    var msgLb=$c('label',null,msgDiv);
    msgLb.className='messageBody';
    msgLb.innerHTML=filterURL(m);
    var isMe=true;
    if(!me)
    {
        isMe=false;
    }
    _msgStyle(id,isMe);
}
var keepAliveTime=0;
var keepCount = 0;
function checkKeepAlive()
{
    if(keepAliveTime>0)
    {
        var d=new Date();
        var n=d.getTime();
        if(n-keepAliveTime>_keepAliveTimeout)
        {
			keepCount++
			if(keepCount>=5){
				processOffline(logoutUrl);
			}
            keepAlive();
            _addSystemMsg('keepAlive\u8d85\u65f6\uff0c\u91cd\u65b0\u53d1\u9001');
        }
    }
    $t('checkKeepAlive()',_checkKeepAliveTime);
}

function delFrame(){
	var _checkFrame = document.getElementById("_checkFrame");
	document.body.removeChild(_checkFrame);
}

function keepAlive()
{
    var d=new Date();
    keepAliveTime=d.getTime();

    var param='act=doKeepAlive'+'&kp='+now();
	myAJAX(function(originalRequest)
	{
		var resCode=originalRequest.responseText;
		if(needLogout)return;
		var tmp=resCode.split(SP1);
		var r=(tmp&&tmp.length>0)?tmp[1]:'';
		var url=(tmp&&tmp.length>1)?tmp[0]:'';
		if(r=='jump'||r=='kickout')
		{
			processOffline(url,r);
			return;
		}
		var all=resCode.split(SP3);
		if(all&&all[0])
		{
			processRecvMsg(all[0]);
		}
		if(all&&all[1])
		{
			processUserStatusChangeMsg(all[1]);
		}
		if(all&&all[2])
		{
			processAddFriendMsg(all[2]);
		}
		if(!needLogout)
		{
			$t('keepAlive()',_keepAliveTime);
		}
	}
	,param);
}
function processOffline(url,flag)
{
    needLogout=true;
    var info='\u8fde\u63a5\u4e2d\u65ad\uff0c\u8bf7\u91cd\u65b0\u767b\u5f55';
    if(flag=='kickout')
    {
        info='\u4f7f\u7528\u76f8\u540c\u7528\u6237\u540d\u7684\u53e6\u5916\u4e00\u4e2a\u7528\u6237\u5df2\u7ecf\u767b\u5f55\uff0c\u7a0b\u5e8f\u81ea\u52a8\u9000\u51fa';
		kickout = true;
    }
    alert(info);
    //$('newMsgArea').style.display='none';
    $('toolsArea').style.display='none';
	var sendbuttonArray = document.getElementsByTagName('input');
	if(sendbuttonArray!=null){
		for(var i=0;i<sendbuttonArray.length; i++){
			try{
				if(sendbuttonArray[i].type="button"){
					sendbuttonArray[i].disabled = true;
				}
			}
			catch(e){
			}
		}
	}
    try{
	    window.location=url;
	    return;
	}
	catch(e){
	}
}
function processRecvMsg(m)
{
    var ms=m.split(SP1);
    if(ms)
    {
        if(ms.length>0)_playSound('msg');
        for(var i=0;i<ms.length;++i)
        {
            var m=ms[i].split(SP2);
            if(m&&m.length==3)
            {
                _hasReceiveMsg=true;
                var uid=m[0];
                var msg=m[1];
                var time=m[2];
				var sendDisabled = false;
                if(uid==''||uid=='null')
                {
                    if(msg.indexOf('\u53c2\u52a0\u5546\u52a1\u6d3d\u8c08')>=0||msg.indexOf('\u5411\u60a8\u53d1\u9001\u6587\u4ef6')>=0||msg.indexOf('\u7f51\u9875\u7248\u65e0\u6cd5\u652f\u6301')>=0)
                    {
                        msg+=' <a href="'+downloadUrl+'" target="_blank" onclick="downloadLogSend();">\u70b9\u51fb\u8fd9\u91cc</a>\u4e0b\u8f7d\u8f6f\u4ef6\u7248\u963f\u91cc\u65fa\u65fa';
                    }
                    var xxx=_currentId;
                    if(!xxx)
                    {
                        xxx="\u6dd8\u5b9d\u7cfb\u7edf\u6d88\u606f";
						sendDisabled = true;
                    }
                    _addMsg(xxx,sysMsg,msg+' <span class="TimeStamp">('+time+')</span>',null,null,sendDisabled);
                }
                else
                {
					if(uid=="server_ali_mis"){
						return;
					}
                    var sender='<font color="#0044DD">'+getSiteNameUid(uid)+'</font>';
                    if(uid==$('loginForm')['uid'].value)
                    {
                        sender=uid;
                    }
                    if(msg=='_SendMsgVerify_')
                    {
                        msg='<font color="#FF0000"><strong>\u7528\u6237 '+getSiteNameUid(uid)+' \u8bbe\u7f6e\u4e86\u63a5\u6536\u6d88\u606f\u9a8c\u8bc1\uff0c\u65e0\u6cd5\u7ed9 '+getSiteNameUid(uid)+' \u53d1\u9001\u6d88\u606f\uff01\u8bf7\u4e0b\u8f7d\u65fa\u65fa\u5ba2\u6237\u7aef\uff0c\u767b\u9646\u5e76\u8bf7\u6c42 '+getSiteNameUid(uid)+' \u9a8c\u8bc1\uff01</strong></font>';
						sender = sysMsg;
						sendDisabled = true;
                    }
					if(msg=='_NotExist_')
                    {
                        msg='<font color="#FF0000"><strong>\u7528\u6237 '+getSiteNameUid(uid,"true")+' \u4e0d\u5b58\u5728!</strong></font>';
						sender = sysMsg;
						sendDisabled = true;
                    }
					var siteValidate = checkSite(uid);
					if(!siteValidate){
						sendDisabled = true;
					}
					sender='<font color="#0044DD">'+getSiteUid(uid)+'</font>';
                    _addMsg(toid(uid),sender,msg+' <span class="TimeStamp">('+time+')</span>',null,null,sendDisabled);
                    _lastUser=getSiteNameUid(uid);
                }
            }
        }
    }
}
function processAddFriendMsg(m)
{
    var ms=m.split(SP1);
    if(ms)
    {
        var uids='';
        for(var i=0;i<ms.length;++i)
        {
            var m=ms[i].split(SP2);
            if(m&&m.length==2)
            {
                var uid=m[0];
                var msg=m[1];
                if(msg!='S')
                {
                    _addSystemMsg('<label class="ErrorMsg">\u7cfb\u7edf\u6d88\u606f\uff1a\u6dfb\u52a0\u597d\u53cb '+uid+' \u5931\u8d25\uff0c'+msg+'</label>');
                }
                else
                {
                    _addUser(uid,0);
                    if(uids!='')uids+=',';
                    uids+=uid;
                    _addSystemMsg('<label class="SucessMsg">\u7cfb\u7edf\u6d88\u606f\uff1a\u6dfb\u52a0\u597d\u53cb '+uid+' \u6210\u529f</label>');
                }
            }
        }
        var param='act=doGetContactStatus&friendUid='+jsEncode(uids)+'&kp='+now();
        myAJAX(null,param);
    }
}
function processUserStatusChangeMsg(m)
{
    var ms=m.split(SP1);
    if(ms)
    {
        var showSystemMsg=true;
        if(ms.length>20)
        {
            showSystemMsg=false;
            _addSystemMsg("\u6536\u5230n\u591a\u597d\u53cb\u72b6\u6001\uff0c\u4e0d\u4e00\u4e00\u663e\u793a");
        }
        for(var i=0;i<ms.length;++i)
        {
            var m=ms[i].split(SP2);
            if(!m||m.length!=4)
            {
                continue;
            }
            var uid=m[0];
            var msg=m[1];
            var status=m[2];
            var time=m[3];
            if(showSystemMsg)
            {
				var tmp = _lastStatusMap.get(uid);
				if(tmp!=null){
					var _lastStatus = tmp.value.split("||");
					if(_lastStatus!=null){
						if(_lastStatus[0]==status&&_lastStatus[1]==msg){
							return;
						}
						if(_lastStatus[0]!=status&&status=="1"&&_lastStatus[0]=="2"){
							return;
						}
					}
					else{
						if(status=="1"||status=="2"){
							return;
						}
					}
				}
				else{
					if(status=="1"||status=="2"){
						return;
					}
				}

				_lastStatusMap.remove(uid);
				_lastStatusMap.put(uid,status+"||"+msg);

				if(status=='0')
				{
					if(msg==""||msg==null){
						msg=getSiteNameUid(uid)+' \u4e0a\u7ebf\u4e86 - \u6211\u6709\u7a7a';
					}
					else{
						msg=getSiteNameUid(uid)+' \u72b6\u6001\u4fee\u6539 - '+msg;
					}
				}
				else if(status=='1')
				{
					msg=getSiteNameUid(uid)+' \u4e0b\u7ebf\u4e86';
				}
				else if(status=='2')
				{
					msg=getSiteNameUid(uid)+' \u4e0b\u7ebf\u4e86';
				}
				else
				{
					msg=getSiteNameUid(uid)+' \u72b6\u6001\u4fee\u6539 - '+msg+'('+status+')';
				}
				var c=$('chatMainSpan_'+toid(uid));
				if(c)
				{
					_addMsg(toid(uid),sysMsg,msg+' <span class="TimeStamp">('+time+')</span>');
				}
            }
        }
    }
}
function _statusStyle(uid,status)
{
    var e=$('chatMainSpan_'+uid);
    if(e)
    {
        var style='';
        if(status=0)
        {
            style='Online';
        }
        else
        {
            style='Offline';
        }
        if(_currentId==uid)
        {
            _current2Style=style;
        }
        else
        {
            e.className=style;
        }
    }
}
function _msgStyle(id,isMe)
{
    if(_currentId==id)
    {
        return;
    }
    if(!isMe)
    {
    }
    var e=$('chatMainSpan_'+id);
    if(e)
    {
        e.className='NewMessage';
    }
    if(tabCount==1)
    {
        sayTo(id);
    }
}
function _selectStyle(uid)
{
    if(uid==_current2Id)
    {
        return;
    }
    else
    {
        if(_current2Id!=null&&_current2Style!=null)
        {
            var e=$('chatMainSpan_'+_current2Id);
            if(e)
            {
                e.className=_current2Style;
            }
        }
        _current2Id=uid;
        var el=$('chatMainSpan_'+uid);
        if(el)
        {
            _current2Style=e.className;
            el.className='Online Select';
        }
    }
}
function _clearContent(id)
{
    var e=$(id);
    if(e)e.innerHTML='';
}
function _addSystemMsg(msg,time)
{
    var d=new Date();
    var s=d.getYear()+'-';
    s+=(d.getMonth()+1)+'-';
    s+=d.getDate()+' ';
    s+=d.getHours()+':';
    s+=d.getMinutes()+':';
    s+=d.getSeconds()+'';
    var sysMsgLb=$c('label');
    if(time)
    {
        s=time;
    }
    sysMsgLb.innerHTML=s+' - '+msg+'<br />';
    var e=$('systemMsgContent');
    if(e)
    {
    }
}
function simpleSayTo()
{
    var site='cntaobao';
    var uid=$('tbUser').value;
    if(!uid||uid=='')return;
	if(!funcCheckInvalidChar(uid)){
		alert("用户名不合法");
		return;
	}
	uid = site + uid;
    var param='act=doCheckUserIdExist&uid='+uid+'&kp='+now();
    myAJAX(function(o)
	{
		try
		{
			var res=o.responseText;
			if(res=="_YesSelf"){
				alert("\u4e0d\u80fd\u4e0e\u81ea\u5df1\u804a\u5929\uff01");
				return ;
			}
			else if(res=="_NoSelf"){
			    var i=toid(uid);
			    sayTo(i);
			}
		}
		catch(e){
		}
	},param);
}
function logout()
{
    if(!confirm('\u79bb\u5f00\u672c\u7f51\u9875\uff0c\u5c06\u5bfc\u81f4\u60a8\u7684\u804a\u5929\u8bb0\u5f55\u4e22\u5931\uff0c\u60a8\u53ef\u4ee5\u5148\u590d\u5236\u804a\u5929\u8bb0\u5f55\u5230\u5176\u4ed6\u6587\u6863\u4fdd\u5b58\u3002\u4e3a\u4e86\u60a8\u7684\u8d2d\u7269\u65b9\u4fbf\u5b89\u5168\uff0c\u5efa\u8bae\u60a8\u4f7f\u7528\u963f\u91cc\u65fa\u65fa\u5ba2\u6237\u7aef\u7248\u672c\uff0c\u4eab\u53d7\u4e92\u52a8\u6c9f\u901a\u7684\u4e50\u8da3\u3002'))
    {
        return;
    }
    _hasReceiveMsg=false;
    quickOut("jump");
}
function beforeUnload()
{
    if(window.event&&_hasReceiveMsg)
    {
        window.event.returnValue='\u79bb\u5f00\u672c\u7f51\u9875\uff0c\u5c06\u5bfc\u81f4\u60a8\u7684\u804a\u5929\u8bb0\u5f55\u4e22\u5931\uff0c\u60a8\u53ef\u4ee5\u5148\u590d\u5236\u804a\u5929\u8bb0\u5f55\u5230\u5176\u4ed6\u6587\u6863\u4fdd\u5b58\u3002\u4e3a\u4e86\u60a8\u7684\u8d2d\u7269\u65b9\u4fbf\u5b89\u5168\uff0c\u5efa\u8bae\u60a8\u4f7f\u7528\u963f\u91cc\u65fa\u65fa\u5ba2\u6237\u7aef\u7248\u672c\uff0c\u4eab\u53d7\u4e92\u52a8\u6c9f\u901a\u7684\u4e50\u8da3\u3002';
    }
}
function quickOut(outFlag)
{
	if(!kickout){
		var param='act=doLogout'+'&kp='+ 1+"&flag="+outFlag;
		myAJAX(function(o)
		{
			try
			{
				if("jump"==outFlag){
					var res=o.responseText;
					var tmp=res.split(String.fromCharCode(1));
					var r=(tmp&&tmp.length>0)?tmp[1]:'';
					var url=(tmp&&tmp.length>1)?tmp[0]:'';
					if(r!='jump')
					{
						alert('\u9000\u51fa\u5931\u8d25\uff0c\u8bf7\u5c1d\u8bd5\u5237\u65b0\u9875\u9762');
					}
					else
					{
						//document.title='\u963f\u91cc\u65fa\u65fa';
						//document.getElementById('newMsgArea').style.display='none';
						//document.getElementById('toolsArea').style.display='none';
						window.location=url;
						return;
					}
				}
			}
			catch(e)
			{
			}
		}
		,param);
		needLogout=true;
		keepAliveTime=0;
	}
}
function simpleAddFriend()
{
    var u=$('tbUser').value;
    if(u=='')
    {
        alert('\u8bf7\u586b\u5199\u6dd8\u53cb\u540d\u79f0');
        return;
    }
    if($('user_'+toid(u)))
    {
        alert(u+' \u5df2\u7ecf\u662f\u4f60\u7684\u597d\u53cb\u4e86\u3002');
        return;
    }
    var param='act=doAddFriend&friendUid='+jsEncode(u)+'&kp='+now();
    myAJAX(null,param);
}
function _playSound(soundType)
{
    if(!soundType||!sndArr[soundType])return;
    $('soundNotifyArea').innerHTML='<embed src="'+sndArr[soundType]+'" width="1" height="1" loop="False" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" play="true" name="'+'sound_'+soundType+'" id="'+'sound_'+soundType+'"></embed>';
}
var _lastUser='';
var _alertCount=0;
function showAlert()
{
    if(_lastUser!='')
    {
        if(_alertCount)
        {
            document.title='\u3000'+_lastUser+'\u3000\u7ed9\u60a8\u53d1\u9001\u6d88\u606f';
        }
        else
        {
            document.title='\u25c6'+_lastUser+'\u25c6\u7ed9\u60a8\u53d1\u9001\u6d88\u606f';
        }
        _alertCount=1-_alertCount;
    }
    $t('showAlert()',500);
}
function stopAlert()
{
    try
    {
        if(_lastUser&&_lastUser!='')
        {
            document.title='\u963f\u91cc\u65fa\u65fa-'+getSiteNameUid($('loginForm')['uid'].value);
            _lastUser='';
        }
    }
    catch(e)
    {
    }
}
var _icon_done=false;
var _range=null;
function showInsertICON()
{
    if(!_icon_done)
    {
        buildIconPanel();
        _icon_done=true;
    }
    $('FaceArea').style.display='block';
}
function buildIconPanel()
{
    if(!icon)return;
    var s=$c('ul',null,$('FaceAreaContent'));
    for(var k in icon)
    {
        var li=$c('li',null,s);
        var img=$c('img',null,li);
        img.src=icon[k];
        if(alt&&alt[k])
        {
            img.alt=alt[k];
            img.title=alt[k];
        }
        img.face=k;
        img.onclick=insertIcon;
    }
}
function insertIcon(e)
{
    if(!e)var e=event;
    var img=e.target||e.srcElement;
    var face=img.face;
    closeIcon();
    if(face)
    {
        var b=$('chatInput_'+_currentId);
        if(b)
        {
            var err=false;
            if(_range)
            {
                try
                {
                    _range.text=_range.text+face;
                    _range.collapse(false);
                    _range.moveEnd('character',0);
                    _range.select();
                }
                catch(e)
                {
                    err=true;
                }
            }
            if(!_range||err)
            {
                b.value=b.value+face;
                b.focus();
            }
        }
    }
}
function closeIcon()
{
    $('FaceArea').style.display='none';
}
function Hotkey(event,targetObj,ctrlKey,shiftKey,altKey,keycode)
{
    if(targetObj&&event.ctrlKey==ctrlKey&&event.shiftKey==shiftKey&&event.altKey==altKey&&event.keyCode==keycode)
    {
        targetObj.click();
        return false;
    }
}
function fnKeyup(e)
{
    if(!e)var e=event;
    var o=e.target||e.srcElement;
    if(o&&o.id=='tbUser')
    {
        var b=$('simpleSayToBtn');
        if(b)
        {
            if(event.keyCode==13)
            {
                simpleSayTo();
                return false;
            }
        }
    }
    else if(o&&o.id&&o.id.indexOf('chatInput_')>=0)
    {
        var b=$('btn_'+_currentId);
        if(b)
        {
            return Hotkey(e,b,false,false,false,13);
        }
    }
}
function sayToKeyup(event)
{
}
var mouseDown=false;
var _x=0;
var _y=0;
function _mouseDown(e)
{
    if(mouseDown)return;
    if(!e)var e=event;
    var o=e.target||e.srcElement;
    if(!o.id||o.id!='FaceAreaTool')return;
    mouseDown=true;
    _x=e.offsetX||e.layerX;
    _y=e.offsetY||e.layerY;
    addEvent(document,'mouseup',_mouseUp);
    addEvent(document,'mousemove',_mouseMove);
}
function _mouseUp(e)
{
    mouseDown=false;
    removeEvent(document,'mouseup',_mouseUp);
    removeEvent(document,'mousemove',_mouseMove);
}
function _mouseMove(e)
{
    if(!mouseDown)return;
    if(!e)var e=event;
    var posX;
    var posY;
    if(document.all&&window.event)
    {
        posY=e.clientY+(document.body.scrollTop||document.documentElement.scrollTop);
        posX=e.clientX+(document.body.scrollLeft||document.documentElement.scrollLeft);
    }
    else
    {
        posX=e.pageX;
        posY=e.pageY;
    }
    $('FaceArea').style.left=(posX-_x)+"px";
    $('FaceArea').style.top=(posY-_y)+"px";
    return stopEvent(e);
}
addEvent(document,'keypress',fnKeyup);
addEvent(document,'focus',stopAlert);
addEvent(document,'click',stopAlert);
addEvent(document,'mousedown',_mouseDown);
window.onerror=function(sMsg,sUrl,sLine)
{
	try{
		var img=new Image();
		img.src='webwwtb?act=doLogError&msg='+jsEncode(escape(sMsg))+'&line='+sLine+'&url='+jsEncode(escape(sUrl));
	}catch(e){}
    return false;
}
window.onClientError=function(sMsg,sUrl,sLine)
{
	try{
		var img=new Image();
	    img.src='webwwtb?act=doClientLogError&msg='+jsEncode(escape(sMsg))+'&line='+sLine+'&url='+jsEncode(escape(sUrl));
	}catch(e){}
    return false;
}
function now()
{
    var d=new Date();
    return d.getTime();
}

function downloadLogSend(){
	$('downloadLogSendFrame').src = downloadLogSendUrl ;
}

function getSiteUid(uid){
	if(!isEmpty(uid) && uid.length>8){
		var filter='cntaobao|cntbbtoc|chnyahoo|cnalichn|cnkoubei|glbfoods|cnwujing|chnaigou|cnanonym';
		var temp = filter.split("|");
		for(var i=0; i<temp.length; i++){
			if(uid.indexOf(temp[i])==0){
				uid = uid.substr(8,uid.length);
				return uid;
			}
		}
		return uid;
	}else{
		return uid;
	}
}

function getSiteNameUid(uid,flag){
	if(!isEmpty(uid) && uid.length>8){
		var filter='cntaobao|cntbbtoc|chnyahoo|cnalichn|cnkoubei|glbfoods|cnwujing|chnaigou|cnanonym';
		var temp = filter.split("|");
		for(var i=0; i<temp.length; i++){
			if(uid.indexOf(temp[i])==0){
				var tmp = uid.substr(0,8);
				if(tmp=='cntaobao'&&flag!="true"){
					uid = uid.substr(8,uid.length);
				}
				else{
					uid = uid.substr(8,uid.length)+'('+getSite(uid)+')';
				}
				return uid;
			}
		}
		return uid;
	}else{
		return uid;
	}
}

function getSite(uid){
	if(!isEmpty(uid) && uid.length>8){
		var site = uid.substr(0,8);
		if(site=="cntaobao"){
			return "\u6dd8\u5b9d\u7f51";
		}		
		if(site=="chnyahoo"){
			return "\u96c5\u864e\u7ad9";
		}		
		else if(site=="cntbbtoc"){
			return "\u6dd8\u5b9d\u5546\u57ce";
		}
		else if(site=="cnkoubei"){
			return "\u53e3\u7891\u7f51";
		}
		else if(site=="cnalichn"){
			return "\u963f\u91cc\u5df4\u5df4\u4e2d\u56fd\u7ad9";
		}
		else if(site=="glbfoods"){
			return "\u98df\u54c1\u7f51";
		}
		else if(site=="cnwujing"){
			return "\u4e94\u91d1\u7f51";
		}
		else if(site=="chnaigou"){
			return "\u7231\u72d7\u7f51";
		}
		else if(site=="cnanonym"){
			return "\u533f\u540d\u7248";
		}
		else{
			return "";
		}
	}
	else{
		return "";
	}
}

function checkSite(uid){
	if(!isEmpty(uid) && uid.length>8){
		var site = uid.substr(0,8);
		if(site=="cntaobao"){
			return true;
		}		
		else if(site=="cntbbtoc"){
			return false;
		}
		else if(site=="chnyahoo"){
			return false;
		}		
		else if(site=="cnkoubei"){
			return false;
		}
		else if(site=="cnalichn"){
			return false;
		}
		else if(site=="glbfoods"){
			return false;
		}
		else if(site=="cnwujing"){
			return false;
		}
		else if(site=="chnaigou"){
			return false;
		}
		else if(site=="cnanonym"){
			return false;
		}
		else{
			return false;
		}
	}
	else{
		return false;
	}
}
function checkUidSite(uid){
	if(!isEmpty(uid)){
		if((uid.indexOf('cntaobao')==0)){
			return uid;
		}
		else{
			return 'cntaobao'+uid;
		}
	}
}


function isEmpty(str){
	if(null!=str && ""!=str){
		return false;
	}
	else{
		return true;
	}
}

function Map()
{
	this.elements=new Array();
	this.size=function()
	{
	　　return this.elements.length;
	}
	this.put=function(_key,_value)
	{
	　　this.elements.push(
		{
			key:_key,value:_value
		}
		);
	}
	this.remove=function(_key)
	{
		var bln=false;
	　　	try
		{
		　　	for (i=0;i<this.elements.length;	i++)
			{
		　　		if (this.elements[i].key==_key)
				{
			　　		this.elements.splice(i,1);
			　　		return true;
				}
			}
		}
		catch(e)
		{
			bln=false;
		}
		return bln;
	}
	this.containsKey=function(_key)
	{
		var bln=false;
	　　	try
		{
	　　		for (i=0;i<this.elements.length;i++)
			{
	　　			if (this.elements[i].key==_key)
				{
					bln=true;
				}
			}
		}
		catch(e)
		{
	　　		bln=false;
		}
	　　return bln;
	}
	this.get=function(_key)
	{
		try
		{
			for (i=0;i<this.elements.length;i++)
			{
	　　			if (this.elements[i].key==_key)
				{
	　　				return this.elements[i];
				}
			}
		}
		catch(e)
		{
	　　		return null;
		}
	}
	this.forget=function(num)
	{
		try
		{
			for (i=0;i<this.elements.length;i++)
			{
				if(i==num){
	　　				return this.elements[i];
				}
			}
		}
		catch(e)
		{
	　　		return null;
		}
	}
}