// Programa -- Messenger

var Messenger =
{
    ini: function()
	{
	 	if(!$('css_messenger'))
	 	{
			cargaCSS('messenger','programas/messenger/estilo.css');
		}
	 	if(Cookie.get('msn_nombre'))
	 	{
	 	 	Messenger.nombre = Cookie.get('msn_nombre');
	 	 	Messenger.activo = true;
			Messenger.usuarios();
			Messenger.check(1);
		}
		else
		{
			$V('messenger').crea([50,200,350,400]).titulo('Messenger en ZumOS').llena('<p class="destaca">Bienvenido a <strong>ZumOS Messenger!</strong>.<br>Introduce a continuaci&oacute;n tu nombre.</p><br><form onSubmit="Messenger.nuevouser($(\'msn_user\').value); return false;"><input style="width: 90%;" type="text" id="msn_user"><input class="boton" value="Enviar" type="submit"></form>');			
		}
	}, 
	cierra: function()
	{
		$V('messenger').cierra();
	},
	cierrasesion: function()
	{
		if(!$('messenger'))
		{
			$V('messenger').crea([50,200,350,400]).titulo('Messenger en ZumOS');
		}
		$V('messenger').llena('Cerrando sesi&oacute;n<br><div class="cargando"/>');
		imprime('programas/messenger/users.php',{cierra:Messenger.nombre},'c_messenger');
		Cookie.remove('msn_nombre');
		Messenger.nombre = '';
		Messenger.activo = false;	
	},
	re: function()
	{
		
	},
	nuevouser: function(c)
	{
	 	if($('c_messenger'))
	 	{
			imprime('programas/messenger/users.php',{nuevo:c,nom:c},'c_messenger');			
		}
		Cookie.set('msn_nombre', c, {duration: 1});
		Messenger.nombre = c;
		Messenger.activo = true;
		Messenger.check();
	},
	usuarios: function()
	{
	 	if(!$('c_messenger'))
	 	{
			$V('messenger').crea([50,200,350,400]).titulo('Messenger en ZumOS');		
		}
		$V('messenger').llena('<p>Cargando lista de usuarios....</p><div class="cargando"/>')
		imprime('programas/messenger/users.php',{nom:Messenger.nombre},'c_messenger');
	},
	personal: function(id,nombre)
	{
	 	var vid = 'msn_pers_'+id;
	 	if(!$(vid))
	 	{
		 	var struc = '<div id="msn_conver_'+id+'" class="conver"><span id="msn_fin_'+id+'"></span></div><form class="msn_form" onSubmit="Messenger.envia(\''+id+'\'); return false;"><input type="text" class="txt" id="msn_txt_'+id+'"></input><input type="submit" class="btn" value="Enviar"><input id="msn_nom_'+id+'" style="display:none;" type="hidden" value="'+nombre+'"></form>';
			$V(vid).crea([50,200,600,400]).titulo("conversacion con "+nombre).llena(struc);			
		}
		$V(vid).destaca();
	},
	check: function(f)
	{
	 	if(Messenger.activo)
	 	{
			(function(){ejecuta('programas/messenger/reload.php',{a: Messenger.nombre, check: Messenger.lastcheck,first:f})}).delay(4000);
		}
	},
	envia: function(id)
	{
	 	if(Messenger.activo)
	 	{
			ejecuta('programas/messenger/envia.php',{de: Messenger.nombre, a: id, msg: $('msn_txt_'+id).getValue()});
			$('msn_txt_'+id).value = '';
		}
		else
		{
			sist.error('La sesi&oacute;n ha sido cerrada. <br>No puedes escribir mensajes.');
		}
	},
	nuevomens: function(id,nombre,cont)
	{
	 	if(!$('msn_pers_'+id))
	 	{
			Messenger.personal(id,nombre);
		}
	 	var nd = new Element('div');
	 	nd.setHTML(cont).injectBefore('msn_fin_'+id);
		Messenger.alfinal(id);
	},
	alfinal: function(id)
	{
		var scroll = new Fx.Scroll('msn_conver_'+id).toElement('msn_fin_'+id);
	},
	lastcheck: 0,
	nombre: false,
	activo: false
}

$P('messenger',Messenger.ini,Messenger.cierra,Messenger.re).arranca();