Ver Mensaje Individual
  #2 (permalink)  
Antiguo 12/01/2008, 09:14
Avatar de ZiTAL
ZiTAL
 
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/
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan