12/01/2008, 09:14
|
| | | Fecha de Ingreso: marzo-2004 Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 9 meses Puntos: 62 | |
Re: ZiTALK AJAX Chat version 2.2 Beta litle ajax.js
Código:
var enviando=false;
var firstcomment=true;
function ajaxFunction()
{ var xmlHttp;
try { xmlHttp=new XMLHttpRequest();return xmlHttp; }
catch (e) { try { xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");return xmlHttp; }
catch (e) { try { xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");return xmlHttp; }
catch (e) { alert("Your browser does not support AJAX!");return false; }
}}}
function ajaxWrite()
{
enviando=true;
var ajax = new ajaxFunction();
var name = document.getElementById("nombre");
var comment = document.getElementById("comentario");
ajax.open("POST","?Write=yes",true);
ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
ajax.send("name="+name.value+"&comment="+comment.value);
comment.value='';
comment.focus();
enviando=false;
//ajaxLasId();
}
function ajaxRead()
{
var ajax = new ajaxFunction();
var chat = document.getElementById('chat');
chat.innerHTML='loading...<img src="img/loading.gif" />';
ajax.onreadystatechange=function()
{
if(ajax.readyState==4)
{
chat.innerHTML=ajax.responseText;
chat.scrollTop=1; // fix IE
chat.scrollTop=chat.scrollHeight;
}
}
ajax.open("GET","?Read=yes",true);
ajax.send(null);
}
function ajaxReadLast(id)
{
var ajax = new ajaxFunction();
var chat = document.getElementById('chat');
ajax.onreadystatechange=function()
{
if(ajax.readyState==4)
{
var ele=document.createElement('div');
ele.id='capa'+id;
chat.appendChild(ele);
ele.innerHTML=ajax.responseText;
$("#capa"+id).animate({ color: "#ffffff", backgroundColor: "#000000"}, "slow");
$("#capa"+id).animate({ color: "#000000", backgroundColor: "#f0f0f0"}, "slow");
chat.scrollTop=1; // fix IE
chat.scrollTop=chat.scrollHeight;
soundManager.play('mySound');
}
}
ajax.open("GET","?ReadLast=yes&id="+id,true);
ajax.send(null);
}
function ajaxLasId()
{
if(enviando==true)
{
return;
}
var chat=document.getElementById('chat');
var span=chat.getElementsByTagName('span');
for (var i = 0; i < span.length; i++)
{
var id=span[i].id;
}
var ajax = new ajaxFunction();
ajax.onreadystatechange=function()
{
if(ajax.readyState==4)
{
if(id!=ajax.responseText)
{
ajaxReadLast(id);
}
}
}
ajax.open("GET","?MaxId=yes&id="+id,true);
ajax.send(null);
}
function Cookie()
{
var name=document.getElementById("nombre");
if(trim(name.value)=='')
{
return;
}
var ajax = new ajaxFunction();
ajax.open("GET","?SetCookie=yes&name="+name.value,true);
ajax.send(null);
}
function pulse(esto,e)
{
var evt = e ? e : event;
var key = window.Event ? evt.which : evt.keyCode;
var nombre=document.getElementById('nombre');
var comentario=document.getElementById('comentario');
if(key==13) // tecla enter
{
if(trim(nombre.value)=='')
{
nombre.focus();
return;
}
else if(trim(comentario.value)=='' || firstcomment==true)
{
Cookie();
comentario.focus();
return;
}
else if(firstname==false && firstcomment==false)
{
ajaxWrite();
}
}
else // todas las demas
{
if(esto.id=='nombre')
{
if(firstname==true)
{
esto.value='';
firstname=false;
return;
}
}
if(esto.id=='comentario')
{
if(firstcomment==true)
{
Cookie();
esto.value='';
firstcomment=false;
return;
}
}
}
}
function trim(text)
{
text=text.replace(/^\text+/, "");
text=text.replace(/\text+$/, "");
return text;
}
Librerias externas:
- jquery: http://zital.no-ip.org/txat/js/jquery.js
- plugin color jquery: http://zital.no-ip.org/txat/js/color.js
- soundamager js: http://zital.no-ip.org/txat/js/soundmanager2.js
- soundmanager swf: http://zital.no-ip.org/txat/swf/soundmanager2.swf
- sonido bonk!: http://zital.no-ip.org/txat/sound/bonk.mp3
de todas formas podeis bajaros todo el pack desde la web: http://zital.no-ip.org/txat/ |