var talktime = 3500;//设置获取内容时间间隔 var talkpath = "ppjoke/ppjoke.asp"; var talkcolor = "blue"; var info_shaping ="请勿刷屏"; var info_talkfail ="发送失败"; var barinf_logining ="正在登录"; var barinf_regging = "正在注册"; var barinf_neterro = "数据传输错误"; var barinf_loginready = "登陆成功"; var barinf_loginerro = "密码错误"; var barinf_blank = "请输入聊天内容"; var barinf_logoutok = "注销成功"; var barinf_logouterro = "注销失败"; var barinf_regerro = "用户名已存在"; var barinf_regok = "注册成功,自动登陆"; var barinf_checkuser = "自动登陆中"; var barinf_checkbad = "非法身份,请自行登陆"; var colorArr = ["red","blue","green","darkorange","black","teal","deeppink","blueviolet","springgreen"]; var Anonymous = "匿名";
var count=0; var lastworld=""; var lastalk=""; var lastWorldTime=false; var getMsgTime; var noMemoTimes = 0; var cookiename; var cookiepass;
function keyDownAll(event){ var e = event || window.event; if(e.keyCode==13){sendMsg()} }
function logined(){ function loginok(req){ if(req.responseText=="ok"){ $("name").value = cookiename; $("alogin").style.display="none"; $("ppjoke_alogout").style.display="inline"; $("name").blur(); $("name").disabled = "true"; Field.select("talk"); }else{ } } if(cookiename){ var timestamps = new Date().getTime()+Math.random(); creatInfo(barinf_checkuser); var sendAjax = new Ajax.Request(talkpath+"?act=login×tamp="+timestamps,{method: "post",parameters:"regname="+cookiename+"®pass="+cookiepass,onComplete:loginok}); } }
//获取信息 function getMsg (){ var timestamps = new Date().getTime()+Math.random(); var getAjax = new Ajax.Request(talkpath+"?act=getMsg×tamps="+timestamps,{method: "get",parameters:"",onSuccess:showMsg});
function showMsg(req){
window.setTimeout(getMsg,talktime);
var newMsg=eval("(" + req.responseText + ")");
function appendtime(){ $("ppjoke_msgbox").appendChild(Builder.node("p", {id:"thelastTime",style:"background-color:#FFCCFF"},"消息发送时间:"+lastWorldTime)); appendtimok=true; }
if (noMemoTimes == 5 ){appendtime();noMemoTimes=0} noMemoTimes?noMemoTimes++:noMemoTimes=0;
//处理聊天信息 newMsg.msg.each(function(data){ if(noMemoTimes >= 5){Element.remove("thelastTime");} noMemoTimes = 1; count++; var p = document.createElement("p"); if(count%2==0){ Element.addClassName(p,"p1"); }else{ Element.addClassName(p,"p2"); } var userspan = document.createElement("span"); var usertext = document.createTextNode(data.u+":"); if(data.v=="True"){ userspan.appendChild(usertext); }else{ userspan.style.color="#CACACA"; userspan.appendChild(usertext); } var msgspan = document.createElement("span"); msg2face(data.m,msgspan); msgspan.style.color=data.c; p.appendChild(userspan); p.appendChild(msgspan); $("ppjoke_msgbox").appendChild(p); lastWorldTime=data.t; } ); $("ppjoke_msgbox").scrollTop=$("ppjoke_msgbox").scrollHeight; } }
//发送聊天信息,处理本地消息 function sendMsg (){ if(!Field.present("talk","name","email")){ creatInfo(barinf_blank); return; }
var timestamps = new Date().getTime()+Math.random(); var sendAjax = new Ajax.Request(talkpath+"?act=sendMsg&color="+talkcolor+"×tamp="+timestamps,{method: "post",parameters:Form.serialize("talkform"),onFailure:ajaxErro}); lastworld=Form.serialize("talkform"); lastalk=$F("talk");
count++; var p = document.createElement("p"); if(count%2==0){ Element.addClassName(p,"p1"); }else{ Element.addClassName(p,"p2"); } var userspan = document.createElement("span"); var usertext = document.createTextNode($F("name")+":"); if($("name").disabled == true){ userspan.appendChild(usertext); }else{ userspan.style.color="#CACACA"; userspan.appendChild(usertext); } var msgspan = document.createElement("span"); msg2face($F("talk"),msgspan); msgspan.style.color=talkcolor; p.appendChild(userspan); p.appendChild(msgspan); $("ppjoke_msgbox").appendChild(p); } Field.clear("talk"); Field.select("talk"); $("ppjoke_msgbox").scrollTop=$("ppjoke_msgbox").scrollHeight;
function ajaxErro(){ sysinf(info_talkfail); } }
//发送登陆信息 function sendLogin (){ var timestamps = new Date().getTime()+Math.random(); creatInfo(barinf_logining); var sendAjax = new Ajax.Request(talkpath+"?act=login×tamp="+timestamps,{method: "post",parameters:Form.serialize("logform"),onComplete:sendLoginOk}); function sendLoginOk(req){ if(req.responseText=="ok"){ creatInfo(barinf_loginready); $("alogin").style.display="none"; $("ppjoke_alogout").style.display="inline"; $("name").value=$F("regname"); $("name").blur(); $("name").disabled = "true"; Effect.SlideUp("ppjoke_logdiv",{duration:1.0}); Field.select("talk"); CreactCookie(); }else{ creatInfo(barinf_loginerro); } } }
//发送注册信息 function sendReg (){ var timestamps = new Date().getTime()+Math.random(); creatInfo(barinf_regging); var sendAjax = new Ajax.Request(talkpath+"?act=reg×tamp="+timestamps,{method: "post",parameters:Form.serialize("logform"),onComplete:sendRegOk}); function sendRegOk(req){ if(req.responseText=="ok"){ creatInfo(barinf_regok); $("alogin").style.display="none"; $("ppjoke_alogout").style.display="inline"; $("name").value=$F("regname"); $("name").blur(); $("name").disabled = "true"; Effect.SlideUp("ppjoke_logdiv",{duration:1.0}); Field.select("talk"); CreactCookie(); }else{ creatInfo(barinf_regerro); } } }
//发送注销信息 function sendLogout (){ var timestamps = new Date().getTime()+Math.random(); var sendAjax = new Ajax.Request(talkpath+"?act=logout×tamp="+timestamps,{method: "get",parameters:"",onComplete:sendLogOutOk}); function sendLogOutOk(req){ if(req.responseText=="ok"){ creatInfo(barinf_logoutok); $("ppjoke_logdiv").style.display="none"; $("alogin").style.display="inline"; $("ppjoke_alogout").style.display="none"; $("name").value=Anonymous; $("name").blur(); $("name").disabled = "" Field.select("talk"); clearChat() ; }else{ creatInfo(barinf_logouterro); } } }
function msg2face(msg,element){ var msgtext=$A(msg.match(/([^[]*)([dd])?/gim)); if(msgtext[0]){ msgtext.each(function(word){ var section = word.match(/([^[]*)[?(dd)?]?/i); if(section[1]){ var msgtext = document.createTextNode(section[1]); element.appendChild(msgtext); } if(section[2]){ msgimg = document.createElement("img"); msgimg.setAttribute("src","ppjoke/images/smilies/Face_"+section[2]+".gif"); element.appendChild(msgimg); } } ); }else{ element.appendChild(document.createTextNode(msg)); } }
function creatInfo(text){ $("ppjoke_otherinf").innerHTML=text; window.setTimeout(function(){$("ppjoke_otherinf").innerHTML=""},5000); }
function sysinf(text){ var p = Builder.node("p",{style:"background-color:yellow"},[Builder.node("span",{style:"color:red"},"系统 "),Builder.node("span",{style:"color:blue"},text)]); $("ppjoke_msgbox").appendChild(p); $("ppjoke_msgbox").scrollTop=$("ppjoke_msgbox").scrollHeight; }
function createFaceList(){ for (i=1;i<=24;i++){ var j=i if(j<10){j="0"+i} var a = Builder.node("a", {href:"#"},[Builder.node("img",{src:"ppjoke/images/smilies/Face_"+j+".gif"},[])]); a.alt=j; a.onclick=function(){$("talk").value=$F("talk")+"["+this.alt+"]";Field.focus("talk");return false;}; var li = Builder.node("li", {},[a]); $("ppjoke_facelist").appendChild(li); } }
function changeColor(color){ talkcolor=color; }
function CreactCookie(){ var mydate = new Date(); mydate.setTime(mydate.getTime() + 48*60*60*100); document.cookie = "ppjokeusername="+escape($F("regname"))+";expires="+mydate.toGMTString(); document.cookie = "ppjokepass="+escape($F("regpass"))+";expires="+mydate.toGMTString(); }
function GetCookie(){ var value = unescape(document.cookie); var namepos = value.indexOf("ppjokeusername="); if(namepos!=-1){ var start = namepos + 14; var end = value.indexOf(";",start); if (end == -1) end = value.length; cookiename = value.substring(start,end); } var passpos = value.indexOf("ppjokepass="); if(passpos!=-1){ var start = passpos + 10; var end = value.indexOf(";",start); if (end == -1) end = value.length; cookiepass = value.substring(start,end); } }
function DelCookie(sName,sValue){ document.cookie = sName + "=" + escape(sValue) + ";expires=Fri, 31 Dec 1999 23:59:59 GMT;"; }
function clearChat(){ var ps = $A($("ppjoke_msgbox").getElementsByTagName("p")); ps.each(function(p){ Element.remove(p); } ); }