/**
 * @author Carlos Gonzalez int21.ve@gmail.com Venezuela
 */
		var chatbook=new Object();
		var openList=false;//esta abierta la lista de personas?
		var openChat=false;//esta abierta la ventana de chat?
		var lastID=0;//ultimo id del mensaje enviado
		var last_time=0;//ultima actualizacion de chat
		var hwndInterval=0;
		var arrStatus={'online':'usrOn', 'offline':'usrOff','idle':'usrIdle'};
		
		chatbook.cierraList=function(){$('#usr_list').hide(); openList=false};
		chatbook.cierraChat=function(){$('#chat_win').hide(); openChat=false;window.clearInterval(hwndInterval);last_time=0;};
		chatbook.Saltar=function(Quien){Quien.fadeIn(100).animate({top:"-=20px"},100).animate({top:"+=20px"},100).animate({top:"-=20px"},100)
.animate({top:"+=20px"},100).animate({top:"-=20px"},100).animate({top:"+=20px"},100);
};

//		*		*		*		
      $(document).ready(function() {
      

	 $("#chat_bar").animate({ height: "40px" }) .animate({  
         height: "25px" }, "fast");
         /* $("div.panel_button").toggle()*/

        readWeather();//cargar el widget del clima
      	
      	//update now
      	chatbook.updUsrLs();
	setInterval( function(){chatbook.updUsrLs();},30000);	//set update every 30secs

	//escucha en el evento keyup la tecla enter
	$('#_msg').keyup(function(e) {
		var theCode = e.keyCode ? e.keyCode : (e.which ? e.which : e.charCode);
	if(theCode == 13) {
		chatbook.SendMSG($('#_msg').val());
	  }
	 });
	 
      }); 

//		*		*		*		
		chatbook.BuildChat=function(dtChat)
		{

			var divConten = $('#msg_win');

			if(openChat)
			{
				var xUL=document.createElement('ul');//master UL
				xUL.style.cssText="margin:0px;padding:2px;";
				var arrCss=new Array('rowA','rowB');
				for(var i=0;i< dtChat.length;i++ )
				{
					var itemMSG=document.createElement('li');
					var _html='<div id="chat_entry" class="'+ arrCss[i%2] +'"><span id="time_chat" style="float: left;" >'+dtChat[i].time+'</span><span id="usr_nick" style="color:#'+dtChat[i].user_colour+'" >'+dtChat[i].username+':</span><span id="usr_msg">'+dtChat[i].message+'</span></div> </li>';
					itemMSG.innerHTML=_html;
					xUL.appendChild(itemMSG);
				}
				divConten.append(xUL);
			}
			
		}
//		*		*		*		
		chatbook.SendMSG=function()
	{ 
		if (openChat) {
			var _newMSG=$('#_msg').val();
			//limpiar
			$('#_msg').val('');
			$.ajax({
				type: "POST",
				url: "chatbook/functions.php",
				data: {
					mode: 'add', message:_newMSG,last_id:lastID
				},
				success: function(msg){
					var xdata=msg.split("||");					
					lastID=xdata[1];
					var dtChat=eval(xdata[0]);
					chatbook.clearChat();
					chatbook.BuildChat(dtChat)
				}
			});			
			

		}

	}

//		*		*		*		
		chatbook.AbreChat=function(){ if (openChat) {
			$('#chat_win').hide();
			openChat=false;
			 window.clearInterval(hwndInterval);
		}
		else {
			$('#chat_win').show();
			openChat=true;
			$('#unread').html('');			
			hwndInterval=setInterval('updChatData("read")',30000);			
			updChatData('');
			};
		}		
//		*		*		*
		chatbook.AbreList=function(){ if (openList) {
			$('#usr_list').hide();
			openList=false;
		}
		else {
			$('#usr_list').show();
			openList=true;
			chatbook.updUsrLs();
			};
		}
//		*		*		*		
		chatbook.clearUsrLs=function(){$('#usr_connect').empty();}
//		*		*		*		
		chatbook.clearChat=function(){$('#msg_win').empty();}	
//		*		*		*
		chatbook.waitIndicator=function (status)
		{ 
			if(status=='start') $('#indicator').show();
			else if(status=='stop')  $('#indicator').hide();
		}
//		*		*		*

		chatbook.updUsrLs=function ()
		{

			$.ajax({
				type: "POST",
				url: "chatbook/functions.php",
				data: {
					mode: 'getonline',last_time:last_time
				},
				success: function(msg){
					chatbook.clearUsrLs();
					var xdata=msg.split('||');
					if(last_time==0) last_time=xdata[2];
					var lsUsrs	=	eval(xdata[0]);
					var divConten = $('#usr_connect');					
					$('#btn_usr').html('<span style="padding-left:20px">Conectados('+(lsUsrs.length)+')</span>');
					//indicar cuantos mensajes sin leer
					if( !openChat && xdata[1]>0){
					 $('#unread').html('Nuevos Mensajes('+xdata[1]+')');
                                         
$('#unread').append('<div style="visibility: hidden; position: absolute;"><object data="soundout.swf" type="application/x-shockwave-flash"><param name="movie" value="soundout.swf" /></object></div>');

					 chatbook.Saltar($('#btn_chat'));
					 }else $('#unread').html('');

					if(openList)
					{
						var xUL=document.createElement('ul');//master UL
						xUL.style.cssText="margin:0px;padding:0px 0;";						
						for(var i=0;i< lsUsrs.length;i++ )
						{
							var itemUsr=document.createElement('li');
							var _html='<div style="color:'+lsUsrs[i].color+';float:left;"><img style="border:1px solid gray;float:left;padding:4px;width:40px;"  src="'+lsUsrs[i].avatar+'"/>'+lsUsrs[i].usrName+'</div>';
							itemUsr.innerHTML=_html;
							itemUsr.className=arrStatus[lsUsrs[i].status]
							xUL.appendChild(itemUsr);
						}
						divConten.append(xUL);
					}
				}
			});
		
		}
//		*		*		*				


	function updChatData(xmode)
	{
		chatbook.waitIndicator('start');
			$.ajax({
				type: "POST",
				url: "chatbook/functions.php",
				data: {
					mode: xmode,last_id:lastID, last_time:last_time
				},
				success: function(msg){
					if(msg!="")
					{
						var xdata=msg.split("||");					
						lastID=xdata[1];
						last_time=xdata[2];
						var dtChat=eval(xdata[0]);
						if(dtChat.length) {
							
							chatbook.clearChat()						
							chatbook.BuildChat(dtChat);
						}
						
					}
					chatbook.waitIndicator('stop');
				}
			});		
	}

/*
var childData   = function(selector, arg)
 {
    return selector.find(arg).attr('data');
 }
*/

//		*		*		*


function readWeather()
{

var api_url="http://www.google.com/ig/api";
var location="caracas,venezuela";

 $.ajax({
      url: 'chatbook/readWeather.php',
      type: "GET",
      data: {weather: location},
      success: function(xml){
          var data=eval(xml);
          $("#weather_widget").html('<img style="width:20px;height:20px;" align="absmiddle" src="'+data[2]+'" border=0 /> '+data[1]+'C '+data[0]);
      }
   });//fin peticion de Jquery;

}//fin function


//		*		*		*		