var tabs = null;
var globalViewer; //Info del viewer
var globalFriends; //Info de los amigos
var userIDs = {}; //Uids de los que no tenemos datos en la persistence
var globalFriendsName = {}; // Info de los amigos (id:nombre)
var globalFriendsAlias = {}; // Alias de los amigos (id:alias). Si no tiene alias se pone su nombre.
var globalStatus = {}; //Info de registro de todos (id:status)
var registeredFriends = {}; // Array de Person de los amigos registrados
var notRegisteredFriends = {}; // Array de Person de los amigos con app no registrados
var friendIDs = {}; //Uids de los amigos del viewer
var viewerAccess;
var aliasId; // Usada para almacenar el Id del alias a cambiar
var aliasName; //Usada para almacenar el alias a asignar
var $tabs;
var sms;
var calls;
var smsId; //Almacena el Id del que envia el sms
var privacyValue; //Almacena el privacy que se envia para luego cambiar las imagenes

/*
 * Función que se ejecuta al inicio
 */
function initCanvas() {
	MM_preloadImages('http://brisa.tid.es/MySpaceCommunicator/img/boton_llamada_03on.png','http://brisa.tid.es/MySpaceCommunicator/img/boton_sms_03.png');
	loadViewer();
}

/*
 * Hace las peticiones opensocial a la red social para recuperar viewer, amigos del viewer y configuracion del viewer
 * La configuracion del viewer actualmente no se utiliza para nada ya que guardamos toda la configuracion
 * en nuestro servidor. Antes se almacenaban en la persistence, pero no funcionaba muy bien.
 */
function loadViewer() {
	var params = {};
	params[opensocial.DataRequest.PeopleRequestFields.PROFILE_DETAILS] = [opensocial.Person.Field.PROFILE_URL];
	MyOpenSpace.DefaultPageSize = 1000;
	var req = opensocial.newDataRequest();
	req.add(req.newFetchPersonRequest('VIEWER'), 'viewer');
	req.add(req.newFetchPeopleRequest('VIEWER_FRIENDS',params), 'viewerFriends');
// 	req.add(req.newFetchPersonAppDataRequest('VIEWER', 'config'), 'viewerConfig');
//  	req.add(req.newFetchPersonAppDataRequest('VIEWER_FRIENDS', 'config'), 'viewerFriendConfig');
	req.send(onLoadViewer);
}

/*
 * Procesa la respuesta de las peticiones opensocial a la red social.
 * Si el viewer es null, el usuario no tiene la aplicacion y procedemos a mostrar la vista del canvas para tal caso.
 * Si el viewer es distinto a null, preparamos los ID del viewer y sus amigos para conocer su estado de registro (getServerData)
 */
function onLoadViewer(data) {
	userIDs = new Array();
	var viewer = globalViewer = data.get('viewer').getData();
	var viewerFriends = globalFriends = data.get('viewerFriends').getData();
	var totalFriendCount = data.get('viewerFriends').getData().getTotalSize();
	console.log("El numero total de amigos es: " + totalFriendCount);
	friendIDs = new Array();

	if (viewer != null) { // El usuario tiene la app
		if (viewerFriends != null) {
			viewerFriends.each(function(person) {
				friendIDs.push(person.getId());
  			});
		}
		//Miramos el estado de registro del usuario
		var noStatus = getStatus(viewer);
		getFriendStatus(viewerFriends);
		if (noStatus) {
			getServerData(viewer.getDisplayName());
		} else if (userIDs.length != 0){
			getServerData("");
		} else {
			countRegisteredAndNotRegisteredFriends();
  			printStatus();
		}	
	} else {
		// El usuario no tiene la app
		gadgets.window.adjustHeight(1000);
		html = new Array();
		html.push('<table cellpadding="0" cellspacing="20" border="0" style="font-family:Helvetica;width: 100%" bgcolor="#d9e6f7"><tr><td>');
		html.push('<tr><td><br/><br/><h1 style="color:#003577;">A&ntilde;&aacute;dete Movistar Contacta y comun&iacute;cate con tus amigos.</h1>' +
                '<h3 style="color:#003577;">Para m&aacute;s informaci&oacute;n visita <a href="http://www.myspace.com/movistarcontacta" onclick="goTo(\'http://www.myspace.com/movistarcontacta\')">http://www.myspace.com/movistarcontacta</a></h3>.</td></tr>');
		html.push('<tr><td><div style="margin: 0pt auto; text-align: center;"><img style="max-height:700px;" border="0" src="http://brisa.tid.es/MySpaceCommunicator/img/myspace.png"/></div></td></tr>');
		html.push('</table>');
		document.getElementById('friends').innerHTML = html.join('');
		document.getElementById('configure').innerHTML = html.join('');
		
		html = new Array();
		html.push('<div style="position: absolute; top: 0; left: 360; z-index: 50"><img src="http://brisa.tid.es/MySpaceCommunicator/img/arrow.png"/></div>');
		document.getElementById('welcome').innerHTML = html.join('');
	}	
}

/*
 * Renderiza las tabs definidas en el xml del gadget
 */
function showTabs() {
	var $tabs = $("#tabs_div > ul").tabs();
}

/*
 * Cambia la url del navegador y no la del iframe donde se ejecuta el gadget
 */
function goTo(url){
	self.parent.location.href=url;
}

//////FUNCIONES DE LA TAB DE AYUDA ////////////
var selectedTab = 1;
var statusTab = [];

function changeStatusTab(tab){
	if(tab != selectedTab){
		document.getElementById('tab'+selectedTab).style.backgroundColor = "#e0e5ee";
		document.getElementById('tab'+selectedTab).style.border = "1px solid #D0D0D0";
		document.getElementById('content'+selectedTab).style.display = "none";
		document.getElementById('img'+selectedTab).src = "http://brisa.tid.es/MySpaceCommunicator/img/tab2"+selectedTab+".png";
	
		document.getElementById('tab'+tab).style.backgroundColor = "white";
		document.getElementById('tab'+tab).style.border = "2px solid #003577";
		document.getElementById('content'+tab).style.display = "block";
		document.getElementById('img'+tab).src = "http://brisa.tid.es/MySpaceCommunicator/img/tab0"+ tab +".png";
		
//		if ((tab == 3 && selectedTab != 4) || (tab == 4 && selectedTab != 3)) {
//			gadgets.window.adjustHeight(1600);
//		} else if ((tab == 1 && selectedTab != 2) || (tab == 2 && selectedTab != 1)) {
//			gadgets.window.adjustHeight(800);
//		}
		selectedTab = tab;

	}
}

function changeStatus(question){
	if(!(statusTab[question]) || statusTab[question]==''){	
		document.getElementById('question'+question).style.display = "block";
		statusTab[question] = 'selectedTab';
	} else {
		document.getElementById('question'+question).style.display = "none";
		statusTab[question] = '';
	}
}

function setHover(tab){
	if(selectedTab!=tab){
		document.getElementById('tab'+tab).style.backgroundColor = "#eeeeee";
		document.getElementById('img'+tab).src = "http://brisa.tid.es/MySpaceCommunicator/img/tab1"+tab+".png";
	}
}

function quitHover(tab){
	if(selectedTab != tab){
		document.getElementById('tab'+tab).style.backgroundColor = "#e0e5ee";
		document.getElementById('img'+tab).src = "http://brisa.tid.es/MySpaceCommunicator/img/tab2"+tab+".png";
	}
}

function loadHelpTab() {
	html = new Array();
	html.push('<table cellpadding="0" cellspacing="20" border="0" style="font-family:Helvetica;width: 100%" bgcolor="#d9e6f7">' +
		'<tr><td>' +
		'<div style="font-size:14px;">' +
		'<a class="help_tabs" href="#" onclick="changeStatusTab(1);return false;" onmouseover="setHover(1);" onmouseout="quitHover(1);" id="tab1" style="background:white;border:2px solid #003577;width:150px;float:left;margin:0px;position:relative; -moz-border-radius:10px 10px 0px 0px;">'+
		'<img  id="img1" border="0" src="http://brisa.tid.es/MySpaceCommunicator/img/tab01.png" style="vertical-align:bottom;"/>'+
		'<div style="position:absolute;top:15px;left:70px;margin:0px;padding:0px;"><strong>&iquest;De qu&eacute; <br/>va esto?</strong></div>'+
		'</a>'+		
		'<a class="help_tabs" href="#" onclick="changeStatusTab(2);return false;" onmouseover="setHover(2);" onmouseout="quitHover(2);" id="tab2" style="background:#e0e5ee;border:1px solid #D0D0D0;width:150px;float:left;position:relative;-moz-border-radius:10px 10px 0px 0px;">'+
		'<img  id="img2" border="0" src="http://brisa.tid.es/MySpaceCommunicator/img/tab22.png" style="vertical-align:bottom;"/>'+
		'<div style="position:absolute;top:15px;left:60px;margin:0px;padding:0px;"><strong>Instalar y <br/>registrarse</strong></div>'+
		'</a>'+
		'<a class="help_tabs" href="#" onclick="changeStatusTab(3);return false;" onmouseover="setHover(3);" onmouseout="quitHover(3);" id="tab3" style="background:#e0e5ee;border:1px solid #D0D0D0;width:150px;float:left;position:relative;-moz-border-radius:10px 10px 0px 0px;">'+
		'<div style="position:absolute;top:15px;left:60px;margin:0px;padding:0px;"><strong>&iquest;C&oacute;mo<br/>funciona?</strong></div>'+
		'<img  id="img3" border="0" src="http://brisa.tid.es/MySpaceCommunicator/img/tab23.png" style="vertical-align:bottom;"/>'+
		'</a>'+
		'<a class="help_tabs" href="#" onclick="changeStatusTab(4);return false;" onmouseover="setHover(4);" onmouseout="quitHover(4);" id="tab4" style="background:#e0e5ee;border:1px solid #D0D0D0;width:150px;float:left;position:relative;-moz-border-radius:10px 10px 0px 0px;">'+
		'<img  id="img4" border="0" src="http://brisa.tid.es/MySpaceCommunicator/img/tab24.png" style="vertical-align:bottom;"/>'+
		'<div style="position:absolute;top:15px;left:54px;margin:0px;padding:0px;"><strong> En otras <br/>p&aacute;ginas</strong></div>'+
		'</a>'+
		'<div style="clear:both;"></div>'+
		'</div>'+

		'<div id="content" style="font-size:14px;background-color: white; border:2px solid #003577;padding:3px;padding-left:10px;position:relative;top:-2px; line-height:20px;-moz-border-radius: 0px 10px 10px 10px;">'+
		
		'<div id="content1" style="display:block">'+	
		
		'<p id="m1"><a class="help_tabs" href="#" onclick="changeStatus(1);return false;" >&iquest;Cu&aacute;nto cuesta?</a><br/>'+
		'<div id="question1" style="display:none;" class="answer">Pues es gratis, pero todo tiene sus l&iacute;mites, claro. Podr&aacute;s mandar hasta 2 SMSs al d&iacute;a y hacer hasta 2 llamadas al d&iacute;a de 3 minutos de duraci&oacute;n. '+
		'Bueno, salvo si est&aacute;s en roaming que te costar&aacute; lo mismo que recibir cualquier otra llamada.'+
		'</div></p>'+
		
		'<p id="m2"><a class="help_tabs" href="#" onclick="changeStatus(2);return false;" >&iquest;Y si quiero hacer m&aacute;s llamadas o enviar m&aacute;s mensajes?</a><br/>'+
		'<div id="question2" style="display:none;" class="answer">Pues tendr&aacute;s que esperar hasta el d&iacute;a siguiente, porque de momento s&oacute;lo puedes mandar hasta 2 SMSs al d&iacute;a y hacer hasta 2 llamadas al d&iacute;a de 3 minutos de duraci&oacute;n.'+
		
		'</div></p>'+
		
		'<p id="m3"><a class="help_tabs" href="#" onclick="changeStatus(3);return false;" >&iquest;Y qu&eacute; pasa con la llamada a los 3 minutos?</a><br/>'+
		'<div id="question3" style="display:none;" class="answer">A los tres minutos se te cortar&aacute; la llamada, pero no te preocupes que no vas a tener que estar mirando el reloj todo el tiempo: 15 segundos antes de que se corte escuchar&aacute;s tres pitidos para que puedas terminar la conversaci&oacute;n.'+
		'</div>'+
		'</p>'+
		
		'<p id="m4"><a class="help_tabs" href="#" onclick="changeStatus(4);return false;" >&iquest;Necesito alg&uacute;n programa o auriculares y micr&oacute;fono en el ordenador?</a><br/>'+
		'<div id="question4" style="display:none;" class="answer">No necesitas nada especial en tu ordenador, Movistar Contacta te llama directamente a tu tel&eacute;fono m&oacute;vil. Si tienes un m&oacute;vil Movistar y una cuenta en MySpace, ya est&aacute;s listo para usar la aplicaci&oacute;n.'+
		'</div></p>'+
		
		'<p id="m5"><a class="help_tabs" href="#" onclick="changeStatus(5);return false;" >&iquest;Es seguro? &iquest;Qui&eacute;n podr&aacute; ver mi n&uacute;mero de tel&eacute;fono?</a><br/>'+
		'<div id="question5" style="display:none;" class="answer">Es completamente seguro, t&uacute; n&uacute;mero de tel&eacute;fono no se har&aacute; p&uacute;blico y permanecer&aacute; siempre oculto.'+
		'Todos los mensajes se env&iacute;an desde un remitente especial con lo que en los mensajes que env&iacute;es no aparecer&aacute; tu n&uacute;mero.'+
		'Todas las llamadas se inician desde el n&uacute;mero especial 223225, con lo que tu n&uacute;mero tampoco aparece nunca.'+
		'</div></p>'+
		
		'<p id="m6"><a class="help_tabs" href="#" onclick="changeStatus(6);return false;" >&iquest;Y puedo elegir a qui&eacute;n quiero dejar que se ponga en contacto conmigo?</a><br/>'+
		'<div id="question6" style="display:none;" class="answer">Pues s&iacute;, claro, c&oacute;mo no. Simplemente tendr&aacute;s que seleccionar si quieres que se comuniquen contigo \'S&oacute;lo tus amigos\' o \'Cualquiera\' desde la pesta&ntilde;a de <a href="javascript:void(0);" onclick="goToConfigurationTab();">configuraci&oacute;n</a> del servicio.'+
		'</div></p>'+
		'</div>'+
				
		'<div id="content2" style="display:none">'+
		
		'<p id="r1"><a class="help_tabs" href="#" onclick="changeStatus(10);return false;" >&iquest;C&oacute;mo se instala la aplicaci&oacute;n?</a><br/>'+
		'<div id="question10" style="display:none;" class="answer">'+
		'Si puedes leer esta p&aacute;gina de ayuda, &iexcl;es que ya has a&ntilde;adido la aplicaci&oacute;n!</div></p>'+
		
		'<p id="r2"><a class="help_tabs" href="#" onclick="changeStatus(11);return false;" >&iquest;Cuales son los pasos necesarios antes de empezar a usarla?</a><br/>'+
		'<div id="question11" style="display:none;" class="answer">1) Solicita acceso desde la pesta&ntilde;a de <a href="javascript:void(0);" onclick="goToConfigurationTab();">Configuraci&oacute;n</a> y espera a que se te conceda. Este proceso puede llevar alg&uacute;n tiempo ya que el acceso est&aacute; limitado y se ir&aacute; concediendo seg&uacute;n disponibilidad. Te avisaremos mediante un mensaje en MySpace cuando tengas acceso y puedas registrar tu tel&eacute;fono. &iexcl;Aseg&uacute;rate de que <a href="http://profileedit.myspace.com/index.cfm?fuseaction=accountSettings.spam" onclick="goTo(\'http://profileedit.myspace.com/index.cfm?fuseaction=accountSettings.spam\');">permites a personas que no sean amigos enviarte mensajes</a> a trav&eacute;s de MySpace!  <br/><br/>' +
		'2) Llama con tu m&oacute;vil Movistar Espa&ntilde;a al n&uacute;mero que te proporcionaremos una vez concedido el acceso (llamada gratuita) para obtener una clave con la que registrarte en el servicio. <br/><br/>3) Despu&eacute;s de llamar recibir&aacute;s un SMS del 223225 con la clave asociada a tu tel&eacute;fono. La activaci&oacute;n del servicio s&oacute;lo est&aacute; disponible actualmente para usuarios Movistar Espa&ntilde;a.'+
		'<br/>'+
		'<br/>4) Ve a la pesta&ntilde;a de <a href="javascript:void(0);" onclick="goToConfigurationTab();">Configuraci&oacute;n</a> e introduce tu n&uacute;mero de tel&eacute;fono Movistar y la clave asociada.'+
		'<br/><br/>Ah, no te preocupes, tu n&uacute;mero va a mantenerse siempre oculto.'+
		'<br/>'+
		'<br/>Selecciona a qui&eacute;nes quieres permitir que se pongan en contacto contigo en la Configuraci&oacute;n de Privacidad y ... ya has terminado.'+
		'</div></p>'+
		'</div>'+
		'<div style="clear:both;"></div>'+
				
		'<div id="content3" style="display:none">'+
		
		'<p id="u1"><a class="help_tabs" href="#" onclick="changeStatus(20);return false;" >&iquest;C&oacute;mo funciona la aplicaci&oacute;n?</a><br/>'+
		'<div id="question20" style="display:none;" class="answer">Ve al perfil de alguno de tus amigos Movistar que tenga la aplicaci&oacute;n instalada.<br/>'+
		'Busca la aplicaci&oacute;n "Movistar Contacta" en su perfil y ver&aacute;s un bot&oacute;n con el que podr&aacute;s llamar a tu amigo y otro para mandarle un mensaje.'+ 
		'<br/><br/>O tambi&eacute;n puedes ir a la pesta&ntilde;a de <a href="javascript:void(0);" onclick="goToFriendsTab();">Amigos</a>, buscar el amigo al que quieras contactar y pulsar en el bot&oacute;n de llamada o mensaje.' +		
		'</div></p>'+
		
		'<p id="u2"><a class="help_tabs" href="#" onclick="changeStatus(21);return false;" >&iquest;C&oacute;mo funcionan las llamadas?</a><br/>'+
		'<div id="question21" style="display:none;" class="answer">'+
		'<br/>'+
		'<center>'+
		'<table style="width: 460px"><tr>'+
		'<td style="width: 230px; margin: 0px; text-align: center; vertical-align: top;">'+
		'<img src="http://brisa.tid.es/MySpaceCommunicator/img/llamada_01.png" style="max-height:154px;"/>'+
		'<div style="margin: 0px; padding: 10px 20px 0px 30px; text-align: left;">'+
		'Navegas hasta el perfil de tu amiga y pulsas en el bot&oacute;n de llamar'+
		'</div>'+
		'</td>'+
		'<td style="width: 230px; margin: 0px; text-align: center; vertical-align: top;">'+
		'<img src="http://brisa.tid.es/MySpaceCommunicator/img/llamada_02.png" style="max-height:154px;"/>'+
		'<div style="margin: 0px; padding: 10px 20px 0px 30px; text-align: left;">'+
		'Recibir&aacute;s una llamada del 223225. &iexcl;C&oacute;gela!<br/>'+
		'</div>'+
		'</td>'+
		'</tr>'+
		'<tr>'+
		'<td style="width: 230px; margin: 0px; text-align: center; vertical-align: top;">'+
		'<img src="http://brisa.tid.es/MySpaceCommunicator/img/llamada_03.png" style="max-height:154px;"/>'+
		'<div style="margin: 0px; padding: 10px 20px 0px 30px; text-align: left;">'+
		'Despu&eacute;s escuchar&aacute;s unos tonos de llamada. Eso significa que la aplicaci&oacute;n ya est&aacute; llamando a tu amiga.'+
		'</div>'+
		'</td>'+
		'<td style="width: 230px; margin: 0px; text-align: center; vertical-align: top;">'+
		'<img src="http://brisa.tid.es/MySpaceCommunicator/img/llamada_04.png" style="max-height:154px;"/>'+
		'<div style="margin: 0px; padding: 10px 20px 0px 30px; text-align: left;">'+
		'Cuando ella descuelgue &iexcl;ya podr&eacute;is hablar!'+
		'</div>'+
		'</td>'+
		'</tr>'+
		'</table>'+
		'</center>'+
		'</div></p>'+
		
		'<p id="u3"><a class="help_tabs" href="#" onclick="changeStatus(22);return false;" >&iquest;C&oacute;mo funcionan los SMS?</a><br/>'+
		'<div id="question22" style="display:none;" class="answer">'+
		'<br/>'+
		'<center>'+
		'<table style="width: 460px"><tr>'+
		'<td style="width: 230px; margin: 0px; text-align: center; vertical-align: top;">'+
		'<img src="http://brisa.tid.es/MySpaceCommunicator/img/mensaje_01.png" style="max-height:154px;"/>'+
		'<div style="margin: 0px; padding: 10px 20px 0px 30px; text-align: left;">'+
		'Navegas hasta el perfil de tu amiga y pulsas en el bot&oacute;n de mensaje<br/>'+
		'</div>'+
		'</td>'+
		'<td style="width: 230px; margin: 0px; text-align: center; vertical-align: top;">'+
		'<img src="http://brisa.tid.es/MySpaceCommunicator/img/mensaje_02.png" style="max-height:154px;"/>'+
		'<div style="margin: 0px; padding: 10px 20px 0px 30px; text-align: left;">'+
		'Aparecer&aacute; un cuadro de texto para que pongas el mensaje que quieras. Cuando termines pulsas al bot&oacute;n de enviar.<br/>'+
		'</div>'+
		'</td>'+
		'</tr>'+
		'<tr>'+
		'<td style="width: 230px; margin: 0px; text-align: center; vertical-align: top;">'+
		'<img src="http://brisa.tid.es/MySpaceCommunicator/img/mensaje_03.png" style="max-height:154px;"/>'+
		'<div style="margin: 0px; padding: 10px 20px 0px 30px; text-align: left;">'+
		'Tu amiga recibir&aacute; un mensaje del 223225 con tu nombre de Facebook y el texto que hayas escrito.<br/>'+
		'</div>'+
		'</td>'+
		'</tr>'+
		'</table>'+
		'</center>'+
		'</div></p>	'+	
		
		'<p id="u4"><a class="help_tabs" href="#" onclick="changeStatus(23);return false;" >&iquest;Algo m&aacute;s?</a><br/>'+
		'<div id="question23" style="display:none;" class="answer">Si tienes alguna duda, pregunta en el <a href="http://www.myspace.com/movistarcontacta" onclick="goTo(\'http://www.myspace.com/movistarcontacta\');">foro de discusi&oacute;n</a>'+
		'<br/><br/>'+
		'Si tienes una sugerencia, ponla en el <a href="http://www.myspace.com/movistarcontacta" onclick="goTo(\'http://www.myspace.com/movistarcontacta\');">foro, en un comentario o manda un mensaje a los desarrolladores</a>'+
		'<br/><br/>'+
		'Si te llega una llamada del 223225 ... &iexcl;&iexcl;c&oacute;gela!! que es un amigo de MySpace que quiere hablar contigo'+
		'<br/><br/>'+
		'Si te llega un mensaje del 223225 ... &iexcl;&iexcl;l&eacute;elo!! Alg&uacute;n amigo parece que tiene algo que contarte'+
		'</div></p>'+
		'</div>'+
				
		'<div id="content4" style="display:none">'+
		'<p id="g1"><a class="help_tabs" href="#" onclick="changeStatus(32);return false;" >Movistar Contacta en otras redes sociales</a><br/>'+
		'<div id="question32" style="display:block;" class="answer">'+
		'Esta aplicaci&oacute;n tambi&eacute;n la pod&eacute;is encontrar en <a href="http://www.mcontacta.com/facebook" onclick="goTo(\'http://www.mcontacta.com/facebook\');">Facebook</a> y, pr&oacute;ximamente, en Orkut y otras redes sociales.' + 
		'</div></p>'+

		'</div>'+
		
		'</div>'+
		'</td></tr>');
	html.push('</table>');
	document.getElementById('help').innerHTML = html.join('');
}

//// FIN FUNCIONES DE LA TAB DE AYUDA //////

/*
 * Peticion que solicita el numero de llamadas y mensajes restantes
 */
function getRemainingCallsSMS(name) { //Pide el estado de registro y privacidad de los usuarios
  var params = {};
  var postdata = {
  	nombre: encodeUrl(name)
  };
  params[gadgets.io.RequestParameters.AUTHORIZATION] = gadgets.io.AuthorizationType.SIGNED;
  params[gadgets.io.RequestParameters.CONTENT_TYPE] =  gadgets.io.ContentType.JSON;
  params[gadgets.io.RequestParameters.METHOD] = gadgets.io.MethodType.POST;
  params[gadgets.io.RequestParameters.POST_DATA] = gadgets.io.encodeValues(postdata);
  var url = "http://brisa.tid.es/MySpaceCommunicator/getdata?remaining=true";
  gadgets.io.makeRequest(url, remainingResponse, params);
}

/*
 * Procesa la respuesta y la muestra en el canvas
 */
function remainingResponse(obj) {
	if (obj["errorMessage"] != null || obj.text == 'Error') {
		calls = 2;
		sms = 2;
	} else {
		var status = obj.data;
  		var config = new Array();
  		for (i in status) {
  			if (i == 0) {
  				calls = status[0];
  			}
  			if (i == 1) {
  				sms = status[1];  				
  			}
  		}
	}
	html = new Array();
	html.push('Hoy todav&iacute;a te quedan: <span id="remSMS">' + sms + '</span> <img src="http://brisa.tid.es/MySpaceCommunicator/img/message_right.png"/> | <span id="remCalls">' + calls + '</span> <img src="http://brisa.tid.es/MySpaceCommunicator/img/calls_right.png"/>');
	document.getElementById("remaining").innerHTML = html.join('');
	
}

/*
 * Devuelve el código HTML correspondiente al estado de acceso del viewer
 */
function accessStatus() {
	if (viewerAccess == 'granted') {
		return '<i>&iexcl;Ya puedes registrar tu tel&eacute;fono! Llama gratis desde tu m&oacute;vil Movistar* al <strong>404043225</strong> y recibir&aacute;s un SMS con tu clave.</i>';
	} else if (viewerAccess == 'pending') {
		return '<i>Tu petici&oacute;n de acceso ha sido registrada correctamente. Cuando la procesemos te enviaremos un mensaje a trav&eacute;s de MySpace para notificarte que ya puedes registrar tu tel&eacute;fono en Movistar Contacta.</i>';
	} else {
		return '<i>Para empezar a usar Movistar Contacta, solicita acceso* en el <strong>Paso 1</strong>.</i>';
	}
}

/*
 * Devuelve el codigo HTML correspondiente a los pasos de solicitud de acceso relativos al viewer
 */
function accessSteps() {
	if (viewerAccess == 'granted') {
		//Ya tiene acceso
		return '<table><tr><td style="text-align:center; vertical-align:top;"><img style="max-width:190px;" src="http://brisa.tid.es/MySpaceCommunicator/img/paso1granted.png"></td><td style="text-align:center; vertical-align:top;"><img style="max-width:190px;" src="http://brisa.tid.es/MySpaceCommunicator/img/paso2.png"></td><td style="text-align:center; vertical-align:top;"><img style="max-width:190px;" src="http://brisa.tid.es/MySpaceCommunicator/img/paso3.png"></td><td style="text-align:center; vertical-align:top;"><img style="max-width:190px;" src="http://brisa.tid.es/MySpaceCommunicator/img/paso4.png"><table style="text-align: right; margin: 0 auto;"><tr><td>Tel&eacute;fono:</td><td><input id="telefono" class="text" name="telefono" size="10" maxlength="20" style="color: rgb(119, 119, 119);"></input></td></tr><tr><td>Clave:</td><td><input id="clave" class="text" name="clave" type="password" size="10" maxlength="20" style="color: rgb(119, 119, 119);"></input></td></tr></table><input id="PostPhone" style="display:" class="inputbutton" type="submit" value=" Enviar " name="phone" onclick="makePhonePOSTRequest(telefono.value, clave.value);showStatusPopup(this, \'Registrando su n&uacute;mero de tel&eacute;fono...\');return false;"/></td></tr></table>';
	} else if (viewerAccess == 'pending') {
		//Esta esperando acceso
		return '<table><tr><td style="text-align:center; vertical-align:top;"><img style="max-width:190px;" src="http://brisa.tid.es/MySpaceCommunicator/img/paso1pending.png"></td><td style="text-align:center; vertical-align:top;"><img src="http://brisa.tid.es/MySpaceCommunicator/img/pasos234off.png"></td></tr></table>';
	} else {
		//No ha solicitado acceso
		return '<table><tr><td style="text-align:center; vertical-align:top;"><img style="max-width:190px;" src="http://brisa.tid.es/MySpaceCommunicator/img/paso1.png"><br/><input id="solicitar" style="text-align: center;" class="inputbutton" type="submit" value=" Solicitar " name="solicitar" onclick="showStatusPopup(this,\'Registrando su petici&oacute;n...\');makeAccessRequest();"/></td><td style="text-align:center; vertical-align:top;"><img src="http://brisa.tid.es/MySpaceCommunicator/img/pasos234off.png"></td></tr></table>';
	}
}

/*
 * Peticion que solicita el numero de telefono registrado por el usuario
 */
function getRegisteredPhone() {
	var params = {};
  	params[gadgets.io.RequestParameters.AUTHORIZATION] = gadgets.io.AuthorizationType.SIGNED;
  	params[gadgets.io.RequestParameters.CONTENT_TYPE] =  gadgets.io.ContentType.JSON;
  	params[gadgets.io.RequestParameters.METHOD] = gadgets.io.MethodType.POST;
  	var url = "http://brisa.tid.es/MySpaceCommunicator/getdata?registeredPhone=true";
  	gadgets.io.makeRequest(url, registeredPhoneResponse, params);
}

/*
 * Procesa la respuesta y muestra el telefono en su campo
 */
function registeredPhoneResponse(obj) {
	if (obj["errorMessage"] != null || obj.text == 'Error') {
	} else {
		var status = obj.data
		var telefono = status["telefono"];
	}
	document.getElementById("telefono").value = telefono;	
}

/*
 * Carga la pestaña de configuracion.
 * Si el usuario ya esta registrado, se muestran las cajas de privacidad y modificacion de telefono
 * Si no esta registrado, solo se muestra la de modificacion de telefono
 */
function loadConfigureTab() {
	html = new Array();
	html.push('<table cellpadding="0" cellspacing="20" border="0" style="font-family:Helvetica;width: 100%" bgcolor="#d9e6f7">' +
		'<tr><td><div id="privacy"></div></td></tr>' +
		'<tr><td><div id="phoneConfig"></div></td></tr>');
//	html.push('<tr><td><div id="privacy"></div></td></tr>');
	html.push('</table>');
	document.getElementById('configure').innerHTML = html.join('');
	
	if (globalStatus[globalViewer.getId()] != 'Not registered') {
		putPrivacyBox();		
		putPhoneModificationBox();
		
	} else {
		htmlPhone = new Array();
		htmlPhone.push('<table cellpadding="0" cellspacing="0" border="0" class="module" style="width: 100%"><tr><td class="topl"></td><td class="topr" ></td></tr><tr><td class="boxmid" style="vertical-align:top; padding-left:20px">' +
		'<h1 >Configuraci&oacute;n de Tel&eacute;fono</h1>' +
		' <div style="margin: 15px 15px 15px 0px;">Aqu&iacute; puedes configurar el n&uacute;mero de tel&eacute;fono en el que recibir&aacute;s las llamadas y los SMSs.<br/>' +
		' <span id="keyRequest" style="color:#157DEC">' + accessStatus() + '</span></div>'+
		'<div id="steps">' + accessSteps() + '</div>' + 
//		'<table><tr><td style="text-align:center; vertical-align:top;"><img style="max-width:190px;" src="http://brisa.tid.es/MySpaceCommunicator/img/paso1.png"><br/><input id="solicitar" style="text-align: center;" class="inputbutton" type="submit" value=" Solicitar " name="solicitar" onclick="showStatusPopup(this,\'Registrando su petici&oacute;n...\');makeAccessRequest();"/></td><td style="text-align:center; vertical-align:top;"><img style="max-width:190px;" src="http://brisa.tid.es/MySpaceCommunicator/img/paso2.png"></td><td style="text-align:center; vertical-align:top;"><img style="max-width:190px;" src="http://brisa.tid.es/MySpaceCommunicator/img/paso3.png"></td><td style="text-align:center; vertical-align:top;"><img style="max-width:190px;" src="http://brisa.tid.es/MySpaceCommunicator/img/paso4.png"><table style="text-align: right; margin: 0 auto;"><tr><td>Tel&eacute;fono:</td><td><input id="telefono" class="text" name="telefono" size="10" maxlength="20" style="color: rgb(119, 119, 119);"></input></td></tr><tr><td>Clave:</td><td><input id="clave" class="text" name="clave" type="password" size="10" maxlength="20" style="color: rgb(119, 119, 119);"></input></td></tr></table><input id="PostPhone" style="display:" class="inputbutton" type="submit" value=" Enviar " name="phone" onclick="makePhonePOSTRequest(telefono.value, clave.value);showStatusPopup(this, \'Registrando su n&uacute;mero de tel&eacute;fono...\');return false;"/></td></tr></table>' +
//		'<form id="change_phone_post_form" action="http://brisa.tid.es/MySpaceCommunicator/?modificarTelef=true"><table cellpadding="10" cellspacing="10"><tr><td align="right"><strong>Tel&eacute;fono:</strong></td><td><input id="telefono" class="text" name="telefono" style="color: rgb(119, 119, 119);"></input></td></tr><tr><td align="right"><strong>Clave:</strong></td><td><input id="clave" class="text" name="clave" type="password" maxlength="20" style="color: rgb(119, 119, 119);"></input></td></tr><tr><td></td><td><input id="PostPhone" style="display:" class="inputbutton" type="submit" value=" Cambiar " name="phone" onclick="makePhonePOSTRequest(telefono.value, clave.value);showStatusPopup(this, \'Registrando su n&uacute;mero de tel&eacute;fono...\');return false;"/></td></tr></table></form>' +
		'<div id="asterisco" style="font-size:12px;"></div>' +
		'</td><td class="boxmidr" ></td></tr><tr><td class="botl"></td><td class="botr"></td></tr></table>');
		document.getElementById('phoneConfig').innerHTML = htmlPhone.join('');			
		html = new Array();
		if (viewerAccess !='granted') {
			html.push('* Esta aplicaci&oacute;n se encuentra en estado de Beta privada con acceso limitado a usuarios Movistar Espa&ntilde;a. El acceso se conceder&aacute; conforme a disponibilidad.');
		} else {
			html.push('* Esta llamada s&oacute;lo se puede realizar desde Espa&ntilde;a. Si te encuentras en otro pa&iacute;s mandanos un mensaje indic&aacute;ndonos tu tel&eacute;fono desde <a href="http://messaging.myspace.com/index.cfm?fuseaction=mail.message&friendID=398653892" class="smallfont" onclick="goTo(\'http://messaging.myspace.com/index.cfm?fuseaction=mail.message&friendID=398653892\')">aqu&iacute;</a>.');
		}
		document.getElementById('asterisco').innerHTML = html.join('');
	}
	

}

/*
 * Carga el codigo HMTL de la caja de privacidad
 */
function putPrivacyBox() {
	htmlPrivacy = new Array();
	htmlPrivacy.push('<table cellpadding="0" cellspacing="0" border="0" class="module" style="width: 100%"><tr><td class="topl"></td><td class="topr" ></td></tr><tr><td class="boxmid" style="vertical-align:top; padding-left:20px">' +
		'<h1 >Configuraci&oacute;n de Privacidad</h1>' +
		'&iquest;A qui&eacute;n quieres permitir que se ponga en contacto contigo?' +
		'<form id="change_phone_post_form" action="http://brisa.tid.es/MySpaceCommunicator/?modificarTelef=true"><table cellspacing="20" style="text-align:center;">');
	if(globalStatus[globalViewer.getId()] == '-1') { //Privacy = -1
		htmlPrivacy.push('<tr id="privacyImages"><td><img id="privacy_friends" src="http://brisa.tid.es/MySpaceCommunicator/img/privacy_friends_OFF.png" style="cursor:pointer;" onclick="sendPrivacy(\'0\', this);"/><div id="privacy_friends_text" style="color:#b1d0d6;font-weight:bold;">S&oacute;lo mis amigos</div></td><td><img id="privacy_anyone" src="http://brisa.tid.es/MySpaceCommunicator/img/privacy_anyone_ON.png" onclick="sendPrivacy(\'-1\', this);"/><div id="privacy_anyone_text" style="color:#002579;font-weight:bold;">Cualquiera</div></td></tr></table></form>');			
	} else { //Privacy = 0
		htmlPrivacy.push('<tr id="privacyImages"><td><img id="privacy_friends" src="http://brisa.tid.es/MySpaceCommunicator/img/privacy_friends_ON.png" onclick="sendPrivacy(\'0\', this);"/><div id="privacy_friends_text" style="color:#002579;font-weight:bold;">S&oacute;lo mis amigos</div></td><td><img id="privacy_anyone" src="http://brisa.tid.es/MySpaceCommunicator/img/privacy_anyone_OFF.png" style="cursor:pointer;" onclick="sendPrivacy(\'-1\', this);"/><div id="privacy_anyone_text" style="color:#b1d0d6;font-weight:bold;">Cualquiera</div></td></tr></table></form>');
	}	

//	if(globalStatus[globalViewer.getId()] == '0') {
//		htmlPrivacy.push('<tr><td><img id="privacy_friends" src="http://brisa.tid.es/MySpaceCommunicator/img/privacy_friends_ON.png" style="cursor:pointer;" onclick="sendPrivacy(\'0\');showPrivacyPopup(this, \'Cambiando privacidad...\');"/><div id="privacy_friends_text" style="color:#002579;font-weight:bold;">S&oacute;lo mis amigos</div></td><td><img id="privacy_anyone" src="http://brisa.tid.es/MySpaceCommunicator/img/privacy_anyone_OFF.png" style="cursor:pointer;" onclick="sendPrivacy(\'-1\');showPrivacyPopup(this, \'Cambiando privacidad...\');"/><div id="privacy_anyone_text" style="color:#b1d0d6;font-weight:bold;">Cualquiera</div></td></tr></table></form>');
//	} else { //Privacy = -1
//		htmlPrivacy.push('<tr><td><img id="privacy_friends" src="http://brisa.tid.es/MySpaceCommunicator/img/privacy_friends_OFF.png" style="cursor:pointer;" onclick="sendPrivacy(\'0\');showPrivacyPopup(this, \'Cambiando privacidad...\');"/><div id="privacy_friends_text" style="color:#b1d0d6;font-weight:bold;">S&oacute;lo mis amigos</div></td><td><img id="privacy_anyone" src="http://brisa.tid.es/MySpaceCommunicator/img/privacy_anyone_ON.png" style="cursor:pointer;" onclick="sendPrivacy(\'-1\');showPrivacyPopup(this, \'Cambiando privacidad...\');"/><div id="privacy_anyone_text" style="color:#002579;font-weight:bold;">Cualquiera</div></td></tr></table></form>');
//	}				
	htmlPrivacy.push('</td><td class="boxmidr" ></td></tr><tr><td class="botl"></td><td class="botr"></td></tr></table>');
	document.getElementById('privacy').innerHTML = htmlPrivacy.join('');
}

/*
 * Carga el codigo HMTL de la caja de modificacion de telefono
 */
function putPhoneModificationBox() {
	htmlPhone = new Array();
	htmlPhone.push('<table cellpadding="0" cellspacing="0" border="0" class="module" style="width: 100%"><tr><td class="topl"></td><td class="topr" ></td></tr><tr><td class="boxmid" style="vertical-align:top; padding-left:20px">' +
	'<h1 >Modificaci&oacute;n de Tel&eacute;fono</h1>' +
	' <div style="margin: 15px 15px 15px 0px;">&iexcl;Ya est&aacute;s registrado! Si quieres cambiar tu n&uacute;mero de tel&eacute;fono s&oacute;lo tienes que seguir estos pasos.<br/>' +
	'<div id="steps">' + accessSteps() + '</div>' + 
	'<div id="asterisco" style="font-size:12px;"></div>' +
	'</td><td class="boxmidr" ></td></tr><tr><td class="botl"></td><td class="botr"></td></tr></table>');
	document.getElementById('phoneConfig').innerHTML = htmlPhone.join('');
	getRegisteredPhone();
	html = new Array();
		if (viewerAccess !='granted') {
			html.push('* Esta aplicaci&oacute;n se encuentra en estado de Beta privada con acceso limitado a usuarios Movistar Espa&ntilde;a. El acceso se conceder&aacute; conforme a disponibilidad.');
		} else {
			html.push('* Esta llamada s&oacute;lo se puede realizar desde Espa&ntilde;a. Si te encuentras en otro pa&iacute;s mandanos un mensaje indic&aacute;ndonos tu tel&eacute;fono desde <a href="http://messaging.myspace.com/index.cfm?fuseaction=mail.message&friendID=398653892" class="smallfont" onclick="goTo(\'http://messaging.myspace.com/index.cfm?fuseaction=mail.message&friendID=398653892\')">aqu&iacute;</a>.');
		}
	document.getElementById('asterisco').innerHTML = html.join('');
}

/*
 * Peticion de cambio de privacidad
 */
function sendPrivacy(value, icono) {
	if ((document.getElementById("privacy_friends").src == "http://brisa.tid.es/MySpaceCommunicator/img/privacy_friends_ON.png" && value == -1) || (document.getElementById("privacy_friends").src == "http://brisa.tid.es/MySpaceCommunicator/img/privacy_friends_OFF.png" && value == 0)){
		showPrivacyPopup(icono, 'Cambiando privacidad...');
		privacyValue = value;
		var params = {};
  		var postdata = {
  			privacy : value
  		};
  		params[gadgets.io.RequestParameters.AUTHORIZATION] = gadgets.io.AuthorizationType.SIGNED;
  		params[gadgets.io.RequestParameters.METHOD] = gadgets.io.MethodType.POST;
  		params[gadgets.io.RequestParameters.POST_DATA] = gadgets.io.encodeValues(postdata);
  		var url = "http://brisa.tid.es/MySpaceCommunicator/?setPrivacy=true";
  		gadgets.io.makeRequest(url, privacyResponse, params);
	}
}

/*
 * Procesa y muestra la respuesta de la peticion de cambio de privacidad
 */
function privacyResponse(data) {
	if (data["errorMessage"] != null) {
		html = new Array();
		html.push("No ha sido posible registrar su petici&oacute;n. Por favor, int&eacute;ntelo de nuevo m&aacute;s tarde.");
		document.getElementById("status").innerHTML = html.join('');
	} else {
		changePrivacyImages(privacyValue);
		html = new Array();
		html.push(data.text);
		document.getElementById("status").innerHTML = html.join('');
	}
}

/*
 * Cambia las imagenes con respecto a la privacidad seleccionada por el usuario
 */
function changePrivacyImages(privacy) {
	if (privacy == 0) {
		document.getElementById("privacy_friends").src = "http://brisa.tid.es/MySpaceCommunicator/img/privacy_friends_ON.png";
		document.getElementById("privacy_anyone").src = "http://brisa.tid.es/MySpaceCommunicator/img/privacy_anyone_OFF.png";
		document.getElementById("privacy_friends_text").style.color = "#002579";
		document.getElementById("privacy_anyone_text").style.color = "#b1d0d6";
		document.getElementById("privacy_anyone").style.cursor ="pointer";
		document.getElementById("privacy_friends").style.cursor ="default";
	} else if (privacy == -1){
		document.getElementById("privacy_friends").src = "http://brisa.tid.es/MySpaceCommunicator/img/privacy_friends_OFF.png";
		document.getElementById("privacy_anyone").src = "http://brisa.tid.es/MySpaceCommunicator/img/privacy_anyone_ON.png";
		document.getElementById("privacy_friends_text").style.color = "#b1d0d6";
		document.getElementById("privacy_anyone_text").style.color = "#002579";
		document.getElementById("privacy_friends").style.cursor ="pointer";
		document.getElementById("privacy_anyone").style.cursor ="default";
	}
}

/*
 * Peticion de cambio de telefono
 */
function makePhonePOSTRequest(phone, key) {
	var params = {};
  	var postdata = {
  		telefono : phone,
  		clave : key
  	};
  	params[gadgets.io.RequestParameters.AUTHORIZATION] = gadgets.io.AuthorizationType.SIGNED;
  	params[gadgets.io.RequestParameters.METHOD] = gadgets.io.MethodType.POST;
  	params[gadgets.io.RequestParameters.POST_DATA] = gadgets.io.encodeValues(postdata);
  	var url = "http://brisa.tid.es/MySpaceCommunicator/?modificarTelef=true";
  	gadgets.io.makeRequest(url, phoneResponse, params);
}

/*
 * Procesa la respuesta del cambio de telefono.
 * Si el telefono se ha modificado con exito, elimina el mensaje de registro de telefono en la tab de amigos,
 * aparece la caja de privacidad y cambia la caja de modificacion de telefono.
 * Actualiza tambien los datos de esa persona en la persistence, pero no los usaremos para nada
 */
function phoneResponse(data) {
	if (data["errorMessage"] != null) {
		html = new Array();
		html.push("No ha sido posible registrar su petici&oacute;n. Por favor, int&eacute;ntelo de nuevo m&aacute;s tarde.");
		document.getElementById("status").innerHTML = html.join('');
	} else {
		html = new Array();
		var result = new String(data.text);		
		html.push(result);
		document.getElementById("status").innerHTML = html.join('');
		if (result.indexOf("modificado") != -1) {
			html= new Array();
			html.push("");
			document.getElementById("notregistered").innerHTML = html.join('');
			
			putPrivacyBox();
			putPhoneModificationBox();
			
			var config = new Array();
			config[0] = 1; // Estado: Registrado
			config[1] = -1; // Privacidad por defecto: Cualquiera
			var json = gadgets.json.stringify(config);
			var req = opensocial.newDataRequest();
			req.add(req.newUpdatePersonAppDataRequest(opensocial.DataRequest.PersonId.VIEWER, 'config', json));
			req.send();
		}
	}
}

/*
 * Peticion de acceso
 */
function makeAccessRequest() {
	var params = {};
	var json = gadgets.json.stringify(userIDs);
	var postdata = {
  	uids: json
  	};
  	params[gadgets.io.RequestParameters.AUTHORIZATION] = gadgets.io.AuthorizationType.SIGNED;
  	params[gadgets.io.RequestParameters.CONTENT_TYPE] =  gadgets.io.ContentType.JSON;
  	params[gadgets.io.RequestParameters.METHOD] = gadgets.io.MethodType.POST;
  	params[gadgets.io.RequestParameters.POST_DATA] = gadgets.io.encodeValues(postdata);
  	var url = "http://brisa.tid.es/MySpaceCommunicator/?accessRequest=true";
  	gadgets.io.makeRequest(url, accessResponse, params);
}

/*
 * Procesa la respuesta de la peticion de acceso y actualiza el estado de los pasos y estado de acceso
 */
function accessResponse(data) {
	if (data["errorMessage"] != null) {
		html = new Array();
		html.push("No ha sido posible registrar su petici&oacute;n. Por favor, int&eacute;ntelo de nuevo m&aacute;s tarde.");
//		html.push('<a href=# onclick="hideStatusPopup()">X</a>   ');
		document.getElementById("status").innerHTML = html.join('');
	} else {		
		html = new Array();
		if (data.text.indexOf("Happy hour") != -1) {
			html.push("Petici&oacute;n aceptada. &iexcl;Acceso concedido!");
			viewerAccess = 'granted';
		} else {
			html.push(data.text);
			viewerAccess = 'pending';
		}
		document.getElementById("status").innerHTML = html.join('');
		html = new Array();
		html.push(accessStatus());
		document.getElementById("keyRequest").innerHTML = html.join('');
		html = new Array();
		html.push(accessSteps());
		document.getElementById("steps").innerHTML = html.join('');		
	}
}

/*
 * Guarda los nombres de los amigos en una variable de acceso global y solicita su estado
 */
function getFriendStatus(friends) {
	var friendsInfo = new Array(); // Guarda pares (id:nombre) de los amigos
	friends.each(function(person) {
		friendsInfo[person.getId()] = person.getDisplayName();
		getStatus(person);
  	});
  	globalFriendsName = friendsInfo;
}

/*
 * Guarda el id de la persona en un array de acceso global
 */
function getStatus(person) {
	userIDs.push(person.getId());
	return true;
//	var personData = data[person.getId()];
//	if (personData) {
//		var config = new Array();
//		var json = data[person.getId()]['config'];
// 		if (!json) {
//    		config = {};
//  		}
//  		try {
//    		config = gadgets.json.parse(json);
//  		} catch (e) {
//    		config = {};
//  		}
//  		console.log(config + " " + config.length);
//  		console.log(config[0]);
//  		console.log(config[1]);
//  		console.log(json);
//  		console.log(gadgets.util.unescapeString(json));
//		if (config[0] == 0) { //El usuario no está registrado
//			globalStatus[person.getId()] = "Not registered";
//		} else if (config[0] == 1) { //El usuario está registrado
//			globalStatus[person.getId()] = config[1]; 
//		} else { //El usuario tiene datos erróneos en la persistence
//			userIDs.push(person.getId());
//			return (person.getId() == globalViewer.getId());
//			if (person.getId() == globalViewer.getId()) {
//				userIDs.push(person.getId());
//				return true;
//			}
//			globalStatus[person.getId()] = "No app";
//		}
	// Si no tiene nada en la persistence, consultamos nuestro servidor
//	} else {
//		userIDs.push(person.getId());
//		return (person.getId() == globalViewer.getId());
//		if (person.getId() == globalViewer.getId()) {
//			userIDs.push(person.getId());
//			return true;
//		}
//		globalStatus[person.getId()] = "No app";
//	}
//	return false;
}

/*
 * Peticion de estado de registro y privacidad de los usuarios
 */
function getServerData(name) {
  var params = {};
  var json = gadgets.json.stringify(userIDs);
  var postdata = {
  	uids: json,
  	nombre: encodeUrl(name)
  };
  params[gadgets.io.RequestParameters.AUTHORIZATION] = gadgets.io.AuthorizationType.SIGNED;
  params[gadgets.io.RequestParameters.CONTENT_TYPE] =  gadgets.io.ContentType.JSON;
  params[gadgets.io.RequestParameters.METHOD] = gadgets.io.MethodType.POST;
  params[gadgets.io.RequestParameters.POST_DATA] = gadgets.io.encodeValues(postdata);
  var url = "http://brisa.tid.es/MySpaceCommunicator/getdata";
  gadgets.io.makeRequest(url, serverResponse, params);
}

/*
 * Procesa la respuesta de la peticion de estado de registro/privacidad
 * Guarda en variables globales la informacion del viewer y sus amigos
 * viewerAcces: Guarda el estado de acceso del viewer
 * globalStatus: Guarda el estado de registro/privacidad de todos los usuarios
 */
function serverResponse(obj) {
	if (obj["errorMessage"] != null || obj.text == 'Error') {
		html = new Array();
		html.push('<table cellpadding="0" cellspacing="20" border="0" style="font-family:Helvetica;width: 100%" bgcolor="#d9e6f7"><tr><td>');
		html.push('<tr><td>Se ha producido un error recuperando la informaci&oacute;n. Por favor, int&eacute;ntalo de nuevo m&aacute;s tarde.<br/></td></tr>');
		html.push('</table>');
		document.getElementById('friends').innerHTML = html.join('');
		document.getElementById('configure').innerHTML = html.join('');
	} else {
		var status = obj.data;
  		var config = new Array();
  		for (i in status) {
  			if (i == 0) {
  				viewerAccess = status[0];
  			}  			
  			if (+(i) > 0) {
  				globalStatus[i] = status[i];
        	}
       		if (i == globalViewer.getId()) {
       	 		if (status[i] != 'Error' && status[i] != 'No app') {
					if (status[i] == 'Not registered') {
						config[0] = 0;
						config[1] = 0;
					} else {
		 				config[0] = 1;
		  				config[1] = status[i];
					}
		  			var json = gadgets.json.stringify(config);
		  			var req = opensocial.newDataRequest();
		  			req.add(req.newUpdatePersonAppDataRequest(opensocial.DataRequest.PersonId.VIEWER, 'config', json));
		  			req.send();
		  		} else {
		  		}
        	}
  		}
  		getAlias(globalViewer.getDisplayName());
	}

}

/*
 * Peticion de los alias de todos los usuarios segun el viewer
 */
function getAlias(name) { //Pide el estado de registro y privacidad de los usuarios
  var params = {};
  var json = gadgets.json.stringify(userIDs);
  var postdata = {
  	uids: json,
  	nombre: encodeUrl(name)
  };
  params[gadgets.io.RequestParameters.AUTHORIZATION] = gadgets.io.AuthorizationType.SIGNED;
  params[gadgets.io.RequestParameters.CONTENT_TYPE] =  gadgets.io.ContentType.JSON;
  params[gadgets.io.RequestParameters.METHOD] = gadgets.io.MethodType.POST;
  params[gadgets.io.RequestParameters.POST_DATA] = gadgets.io.encodeValues(postdata);
  var url = "http://brisa.tid.es/MySpaceCommunicator/getdata?alias=true";
  gadgets.io.makeRequest(url, aliasServerResponse, params);
}

/*
 * Procesa la respuesta de la peticion de alias
 * globalFriendsAlias: Guarda el alias de cada usuario segun el viewer
 * Despues, se cuentan usuarios registrados y no registrados y se saca el canvas por pantalla
 */
function aliasServerResponse(obj) {
	if (obj["errorMessage"] != null || obj.text == 'Error') {
		html = new Array();
		html.push('<table cellpadding="0" cellspacing="20" border="0" style="font-family:Helvetica;width: 100%" bgcolor="#d9e6f7"><tr><td>');
		html.push('<tr><td>Se ha producido un error recuperando la informaci&oacute;n. Por favor, int&eacute;ntalo de nuevo m&aacute;s tarde.<br/></td></tr>');
		html.push('</table>');
		document.getElementById('friends').innerHTML = html.join('');
		document.getElementById('configure').innerHTML = html.join('');
	} else {
		var aliases = obj.data;
  		globalFriendsAlias = new Array();
  		for (i in aliases) {
  			if (i > 0 && i != globalViewer.getId()) {
  				if (aliases[i] != 'null') {
//  					console.log("El alias es:" + aliases[i]);
  					globalFriendsAlias[i] = aliases[i];
  				}
        	}
  		}
// 		nameAdapt();
  		countRegisteredAndNotRegisteredFriends();
  		printStatus();
	}

}

/*
 * Adapta el nombre para una correcta visualización en la ficha.
 * Caben 24 caracteres en dos líneas (12+12), pero contando con que se puede
 * cortar una palabra (habrá que añadir "- " y que puede ser un alias (se añade ""),
 * caben 9 caracteres en la primera línea y 11 en la segunda, 20 caracteres.
 */
function nameAdapt(name) {
	var alias = "" + name;
	if (alias.length < 11) {
		return alias;
	} else {
		var firstline = alias.substring(0,9);
		var lastspaceinfirstline = firstline.lastIndexOf(" ");
		var firstcharinsecondline;
		if (lastspaceinfirstline == -1) {
			firstline = firstline + "- ";
			firstcharinsecondline = 9;			
		} else {
			firstline = alias.substring(0,lastspaceinfirstline + 1);
			firstcharinsecondline = lastspaceinfirstline + 1;
		}
		var secondline = alias.substring(firstcharinsecondline);
		if (secondline.length > 11) {
			secondline = secondline.substring(0, 8) + "...";
		}
		return firstline + secondline;	
	}	
}

/*
 * Adapta el nombre para una correcta visualización en la ficha.
 * Caben 32 caracteres en dos líneas (16+16), pero contando con que se puede
 * cortar una palabra (habrá que añadir "- " y que puede ser un alias (se añade ""),
 * caben 13 caracteres en la primera línea y 15 en la segunda, 28 caracteres.
 */
function nameAdaptBACKUP(name) {
	var alias = "" + name;
	if (alias.length < 15) {
		return alias;
	} else {
		var firstline = alias.substring(0,13);
		var lastspaceinfirstline = firstline.lastIndexOf(" ");
		var firstcharinsecondline;
		if (lastspaceinfirstline == -1) {
			firstline = firstline + "- ";
			firstcharinsecondline = 13;			
		} else {
			firstline = alias.substring(0,lastspaceinfirstline + 1);
			firstcharinsecondline = lastspaceinfirstline + 1;
		}
		var secondline = alias.substring(firstcharinsecondline);
		if (secondline.length > 15) {
			secondline = secondline.substring(0, 12) + "...";
		}
		return firstline + secondline;	
	}	
}

/*
 * Devuelve true si el usuario tiene asignado un alias
 */
function hasAlias(i) {
	return globalFriendsAlias[i] != null;
}

/*
 * Devuelve el nombre (o alias, en su caso) de un usuario
 */
function giveAliasOrName(i) {
	if (globalFriendsAlias[i] == null) {
		return nameAdapt(globalFriendsName[i]);
	} else {
		return "&quot;" + nameAdapt(globalFriendsAlias[i]) + "&quot;";
	}
}

/*
 * Separa los usuarios registrados de los no registrados en variables globales
 * registeredFriends y notRegisteredFriends
 */
function countRegisteredAndNotRegisteredFriends(){
	registeredFriends = new Array();
	notRegisteredFriends = new Array();
	globalFriends.each(function(person) {
		var i = person.getId();
		if (globalStatus[i] != 'No app' && globalStatus[i] != 'Not registered') {
			registeredFriends.push(person);
		} else if (globalStatus[i] == 'Not registered') {
			notRegisteredFriends.push(person);
		}
	});
}

/*
 * Devuelve true si el nombre contiene un caracter no compatible con los SMS
 */
function isInvalidName(name) {
	var temp = name;
	temp =  temp.replace(/[^a-zA-Z0-9 '-_.()\u00C1\u00C9\u00CD\u00D3\u00DA\u00E1\u00E9\u00ED\u00F3\u00FA\u00D1\u00F1\u003D\u005B\u005D\u0021\u003F\u00A1\u00BF]+/g,'');
	return !(temp == name);
}

/*
 * Redimensiona una imagen dado un espacio para ella
 */
function resizeBig(which) {
  var elem = document.getElementById(which);
  if (elem == undefined || elem == null) return false;
  //El espacio de que disponemos es de 138x120. r=ancho/alto=1.15
  var ratio = elem.width / elem.height;
  if (ratio > 1.15) {
    elem.width = 138;
	elem.height = 138/ratio;
  } else {
    elem.height = 120;
	elem.width = 120 * ratio;
  }
}

/*
 * Redimensiona una imagen dado un espacio para ella
 */
function resizeSmall(which) {
  var elem = document.getElementById(which);
  if (elem == undefined || elem == null) return false;
  //El espacio de que disponemos es de 138x75. r=ancho/alto=1.84
  var ratio = elem.width / elem.height;
  if (ratio > 1.84) {
    elem.width = 138;
	elem.height = 138/ratio;
  } else {
    elem.height = 75;
	elem.width = 75 * ratio;
  }
}

/*
 * Muestra el contenido de las pestañas en el canvas
 * - Pestaña de configuracion
 * - Pestaña de ayuda
 * - Pestaña de amigos:
 * 		- Solicita llamadas/sms restantes
 * 		- Imprime (en caso de ser necesario) mensajes de: telefono no registrado, nombre invalido, sin amigos registrados.
 * 		- Imprime los amigos registrados de la aplicacion
 */
function printStatus() {
	loadConfigureTab();
	loadHelpTab();
	getRemainingCallsSMS(globalViewer.getDisplayName());
	var j = 0; //Contador de fichas por fila
	html = new Array();
	html.push('<table cellpadding="0" cellspacing="20" border="0" style="font-family:Helvetica;width: 100%; background: #d9e6f7 url(\'http://brisa.tid.es/MySpaceCommunicator/img/remainingbackground.png\') no-repeat fixed 680px 38px">');
	
	html.push('<tr><td><div id="remaining" style="text-align: right; font-size: 12px; color:#ffffff; font-weight: bold; position: relative; top: -17; left: 0"></div></td></tr>');
//<div style="position: absolute; top: 38; left: 680; z-index: 50"><img src="http://brisa.tid.es/MySpaceCommunicator/img/remainingbackground.png"/></div>
	if (globalStatus[globalViewer.getId()] == 'Not registered') {
		html.push('<tr><td><div id="notregistered">' +
				'<table cellpadding="0" cellspacing="0" border="0" class="module" style="width: 100%"><tr><td class="topl"></td><td class="topr" ></td></tr><tr><td class="boxmid" style="padding-left:20px;">' +
				'<h3>N&uacute;mero de tel&eacute;fono no registrado</h3>Antes de poder usar el servicio tienes que registrar tu n&uacute;mero de tel&eacute;fono Movistar. Hazlo en <a id="enlaceConfig" href="javascript:void(0);" onclick="goToConfigurationTab();">Configuraci&oacute;n</a>.<br/>&nbsp;' +
				'</td><td class="boxmidr" ></td></tr><tr><td class="botl"></td><td class="botr"></td></tr></table>' +
				'</div></td></tr>');
	}
	
	if (isInvalidName(globalViewer.getDisplayName())) {
	html.push('<tr><td><div id="invalidName">' +
			'<table cellpadding="0" cellspacing="0" border="0" class="module" style="width: 100%"><tr><td class="topl"></td><td class="topr" ></td></tr><tr><td class="boxmid" style="vertical-align:top; padding-left:15px">' +
			'<img style="vertical-align:middle;" src="http://brisa.tid.es/MySpaceCommunicator/img/warning.png"/><span style="padding-left:10px; vertical-align:middle; font-size:12px;">Tu nombre contiene caracteres especiales y es posible que no se muestre correctamente cuando env&iacute;es un SMS. <a href="javascript:void(0);" onclick="goTo(\'http://profileedit.myspace.com/index.cfm?fuseaction=profile.names\')">&iexcl;Edita tu perfil y modifica tu alias!</a></span>' +
			'</td><td class="boxmidr" ></td></tr><tr><td class="botl"></td><td class="botr"></td></tr></table>' +
			'</div></td></tr>');
	}

	// Si no tiene amigos registrados:
	if (registeredFriends.length == 0) {
		html.push('<tr><td><h3>Actualmente no tienes amigos registrados en Movistar Contacta</h3></td></tr>');
	}
	
	// Para los registrados:
	if (registeredFriends.length > 0) {
		html.push('<tr><td><h3>Tus amigos ya est&aacute;n utilizando la aplicaci&oacute;n de Telef&oacute;nica. &iexcl;Cont&aacute;ctalos desde aqu&iacute;!</h3>');
	//	html.push('Puedes llamar a tus amigos o mandarles un SMS desde esta p&aacute;gina <strong>pulsando los botones</strong> debajo de su nombre, o usando la aplicaci&oacute;n directamente en <strong>sus propios perfiles</strong>.<br/></td></tr>');
		html.push('</td></tr><tr><td><table border="0" cellspacing="10" style="width: ');
		if (registeredFriends.length < 5) {
			html.push(20*registeredFriends.length + '%" ><tr>');
		} else {
			html.push('100%" ><tr>');
		}
		
		for (k=0;k<registeredFriends.length;k++) {
			var person = registeredFriends[k];
			if (j==5){
				html.push('</tr><tr>');
				j = 0;
				var actualHeight = gadgets.window.getViewportDimensions().height;
				gadgets.window.adjustHeight(actualHeight + 250);				
			}
			var i = person.getId();
			j++;
			html.push('<td><table cellpadding="0" cellspacing="0" border="0" class="module" style="width: 100%"><tr><td class="topl"></td><td class="topr" ></td></tr><tr><td class="boxmid" align="center">'); //120 ó 202
			// If the container supports the field THUMBNAIL_URL for PERSON objects,
      		// include it in the profile view greeting page
      		var myenv = opensocial.getEnvironment();
      		if (myenv.supportsField(opensocial.Environment.ObjectType.PERSON, opensocial.Person.Field.THUMBNAIL_URL)) {
        		var thumb = person.getField(opensocial.Person.Field.THUMBNAIL_URL); 
 //       		html.push('<div align="center" style="height:120px"><img id="thumbnail' + i + '" src=' + thumb + ' onload="resize(\'thumbnail' + i + '\');"></img></div>');
        		html.push('<table align="center" style="height:126px"><tr><td><img id="thumbnail' + i + '" src=' + thumb + ' onload="resizeBig(\'thumbnail' + i + '\');"></img></td></tr></table>');
        	}
      //  	html.push('</td><td class="boxmidr"></td></tr><tr><td class="boxmid" align="center" height="40px">');
// 			html.push('<span class="smallfont">Usuario: ' + i + ', nombre: ' + globalFriendsName[i] + ', estado: ' + globalStatus[i] + '<br/></span>');
	     	if (myenv.supportsField(opensocial.Environment.ObjectType.PERSON, opensocial.Person.Field.PROFILE_URL)) {
        		var url = person.getField(opensocial.Person.Field.PROFILE_URL);
        		if (hasAlias(i)) {
        			html.push('<table cellpadding="0" cellspacing="0" border="0" style="margin: 15px 0pt;"><tr style="height: 34px;"><td id="a' + i + '" style="width: 39px;"></td><td style="vertical-align: middle; text-align: center;"><a href="'+ url + '" class="smallfont" onclick="goTo(\'' + url + '\')"><span id="name' + i + '">' + giveAliasOrName(i) + '</span></a></td><td style="padding-left:5px;"><a id="pencil' + i + '" href="javascript:void(0);" onclick="showAliasPopup(this,\'' + i + '\')"><img src=http://brisa.tid.es/MySpaceCommunicator/img/aliaspencil.png name="aliaspencil' + i + '" border="0"></img></a></td><td id="c' + i + '"><a id="eraser' + i + '" href="javascript:void(0);" onclick="eraseAlias(\'' + i + '\');showStatusPopup(this,\'Borrando alias...\');"><img src=http://brisa.tid.es/MySpaceCommunicator/img/aliaseraser.png name="aliaseraser' + i + '" border="0"></img></a></td></tr></table>');
        		} else {
        			html.push('<table cellpadding="0" cellspacing="0" border="0" style="margin: 15px 0pt;"><tr style="height: 34px;"><td id="a' + i + '" style="width: 22px;"></td><td style="vertical-align: middle; text-align: center;"><a href="'+ url + '" class="smallfont" onclick="goTo(\'' + url + '\')"><span id="name' + i + '">' + giveAliasOrName(i) + '</span></a></td><td style="padding-left:5px;"><a id="pencil' + i + '" href="javascript:void(0);" onclick="showAliasPopup(this,\'' + i + '\')"><img src=http://brisa.tid.es/MySpaceCommunicator/img/aliaspencil.png name="aliaspencil' + i + '" border="0"></img></a></td><td id="c' + i + '"></td></tr></table>');
        		}
        		
        		//html.push('<table cellpadding="0" cellspacing="0" border="0" style="margin: 15px 0pt;"><tr style="height: 34px;"><td style="width: 22px;"></td><td style="vertical-align: middle; text-align: center;"><a href="'+ url + '" class="smallfont" onclick="goTo(\'' + url + '\')"><span id="name' + i + '">' + giveAliasOrName(i) + '</span></a></td><td style="padding-left:5px;"><a id="pencil' + i + '" href="javascript:void(0);" onclick="showAliasPopup(this,\'' + i + '\')"><img src=http://brisa.tid.es/MySpaceCommunicator/img/aliaspencil.png name="aliaspencil' + i + '" border="0"></img></a></td></tr></table>');
        		//html.push('<div align="center" style="margin: 15 auto; width:158px;text-align:left;"><a href="'+ url + '" class="smallfont" onclick="goTo(\'' + url + '\')"><span id="name' + i + '">' + globalFriendsAlias[i] + '</span></a></div>');
        	//	html.push('<div align="center" height="54px" width="158px" style="margin: 15px 0px;"><a href="'+ url + '" class="smallfont" style="vertical-align:middle;margin-left:27px;" onclick="goTo(\'' + url + '\')"><span id="name' + i + '">' + globalFriendsAlias[i] + '</span></a><a id="pencil' + i + '" href="javascript:void(0);" style="margin-left:10px;" onclick="showAliasPopup(this,\'' + i + '\')"><img style="vertical-align: bottom;" src=http://brisa.tid.es/MySpaceCommunicator/img/aliaspencil.png name="aliaspencil' + i + '" border="0"></img></a></div>');
        	} else {
        		html.push('<div align="center" height="40px" width="158px" style="margin: 15px 0px;"><span class="smallfont">' + giveAliasOrName(i) + '</span></div>');
        	}
	  //   	html.push('</td><td class="boxmidr"></td></tr><tr><td class="boxmid" align="center" height="42px">');
//     		html.push('<div align="center" height="42px" width="158px"><a id="callButton' + i + '" href="javascript:void(0);" onclick="call(\'' + i + '\'); showStatusPopup(this,\'Intentando conectarte con ' + globalFriendsName[i] + '\');" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage(\'mobile' + i + '\',\'\',\'http://brisa.tid.es/MySpaceCommunicator/img/bluemobile4on.png\',1)"><img src=http://brisa.tid.es/MySpaceCommunicator/img/bluemobile4.png name="mobile' + i + '" border="0"></img></a>');

//			html.push('<a id="smsButton' + i + '" href="javascript:void(0);" onclick="showPopup(this,\'' + i + '\')" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage(\'sms' + i + '\',\'\',\'http://brisa.tid.es/MySpaceCommunicator/img/bluesms4on.png\',1)"><img src=http://brisa.tid.es/MySpaceCommunicator/img/bluesms4.png name="sms' + i + '" border="0"></img></a>');
			html.push('<div align="center" height="42px" width="158px">');
			html.push('<a id="smsButton' + i + '" href="javascript:void(0);" onclick="showPopup(this,\'' + i + '\')"  onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage(\'sms' + i + '\',\'\',\'http://brisa.tid.es/MySpaceCommunicator/img/boton_sms_03on.png\',1)"><img src=http://brisa.tid.es/MySpaceCommunicator/img/boton_sms_03_35px.png name="sms' + i + '" border="0"></img></a>');
        	html.push('<a id="disabledSmsButton' + i + '" style="display:none;"><img src="http://brisa.tid.es/MySpaceCommunicator/img/bluesms4off.png"/></a>');
        	html.push('<a id="callButton' + i + '" href="javascript:void(0);" onclick="call(\'' + i + '\'); showStatusPopup(this,\'Intentando conectarte con ' + giveAliasOrName(i) + '\');" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage(\'mobile' + i + '\',\'\',\'http://brisa.tid.es/MySpaceCommunicator/img/boton_llamada_03on.png\',1)"><img src=http://brisa.tid.es/MySpaceCommunicator/img/boton_llamada_03_35px.png name="mobile' + i + '" border="0"></img></a>');
			html.push('<a id="disabledCallButton' + i + '" style="display:none;"><img src="http://brisa.tid.es/MySpaceCommunicator/img/bluemobile4off.png"/></a>');
        	html.push('</div>');
        	html.push('</td><td class="boxmidr" ></td></tr><tr><td class="botl"></td><td class="botr"></td></tr></table></td>');
		}
		html.push('</tr></table></td></tr>');
	}
  	
  	
  	
 /* 	
  	// Para los NO registrados:
	if (notRegisteredFriends.length > 0) {
		var actualHeight = gadgets.window.getViewportDimensions().height;
		gadgets.window.adjustHeight(actualHeight + 250);
		html.push('<tr><td>Tienes amigos Movistar que no han registrado su n&uacute;mero de tel&eacute;fono:</td></tr>');
		html.push('<tr><td><table border="0" cellspacing="10" style="width: ');
		if (notRegisteredFriends.length < 5) {
			html.push(20*notRegisteredFriends.length + '%" ><tr>');
		} else {
			html.push('100%" ><tr>');
		}
		
		for (k=0;k<notRegisteredFriends.length;k++) {
		//	html.push('<td>hola' + i + '</td></tr><tr>');
			var person = notRegisteredFriends[k];
			if (j==5){
				html.push('</tr><tr>');
				j = 0;
				var actualHeight = gadgets.window.getViewportDimensions().height;
				gadgets.window.adjustHeight(actualHeight + 170);
			}
			var i = person.getId();
			j++;
			html.push('<td><table cellpadding="0" cellspacing="0" border="0" class="module" style="width: 100%"><tr><td class="topl"></td><td class="topr" ></td></tr><tr><td class="boxmid" align="center">');
			// If the container supports the field THUMBNAIL_URL for PERSON objects,
      		// include it in the profile view greeting page
      		var myenv = opensocial.getEnvironment();
      		if (myenv.supportsField(opensocial.Environment.ObjectType.PERSON, opensocial.Person.Field.THUMBNAIL_URL)) {
        		var thumb = person.getField(opensocial.Person.Field.THUMBNAIL_URL); 
   //     		html.push('<img src=' + thumb + ' height=75></img>');
        		html.push('<table align="center" style="height:75px"><tr><td><img id="thumbnail' + i + '" src=' + thumb + ' onload="resizeSmall(\'thumbnail' + i + '\');"></img></td></tr></table>');
        	}
        	html.push('</td><td class="boxmidr"></td></tr><tr><td class="boxmid" align="center">');
// 			html.push('<span class="smallfont">Usuario: ' + i + ', nombre: ' + globalFriendsName[i] + ', estado: ' + globalStatus[i] + '<br/></span>');
	     	html.push('<div style="margin: 10px 0px;" class="smallfont">' + giveAliasOrName(i) + '</div>');
        	html.push('</td><td class="boxmidr" ></td></tr><tr><td class="botl"></td><td class="botr"></td></tr></table></td>');
		}
		html.push('</tr></table>');
	}
	*/
	
	html.push('</td></tr></table>');
	document.getElementById('friends').innerHTML = html.join('');
//	pruebaEnlaceTab();
}

/*
 * Redirige a la pestaña de configuracion
 */
function goToConfigurationTab() {
	var $tabs = $("#tabs_div > ul").tabs();
	$tabs.tabs('select', 1); // switch to second tab
    return false;
}

/*
 * Redirige a la pestaña de amigos
 */
function goToFriendsTab() {
	var $tabs = $("#tabs_div > ul").tabs();
	$tabs.tabs('select', 0); // switch to second tab
    return false;
}

function showhide(id){
	if (document.getElementById){
		obj = id;
		if (obj.style.display == "none"){
			obj.style.display = "";
		} else {
		obj.style.display = "none";
		}
	}
}

function enabledisable(id){
	if (document.getElementById){
		if (id.disabled == "true"){
			id.disabled = "false";
		} else {
		id.disabled = "true";
		}
	}
}

/*
 * Borra el alias asignado a un amigo
 */
function eraseAlias(id) {
	aliasId = id;
	makeEraseAliasPOSTRequest(id);
}

/*
 * Peticion de borrado de alias de un amigo
 */
function makeEraseAliasPOSTRequest(friendId) {
  var params = {};
  var postdata = {
    friendId : friendId
  };
  params[gadgets.io.RequestParameters.AUTHORIZATION] = gadgets.io.AuthorizationType.SIGNED;
  params[gadgets.io.RequestParameters.CONTENT_TYPE] =  gadgets.io.ContentType.JSON;
  params[gadgets.io.RequestParameters.METHOD] = gadgets.io.MethodType.POST;
  params[gadgets.io.RequestParameters.POST_DATA] = gadgets.io.encodeValues(postdata);
  var url = "http://brisa.tid.es/MySpaceCommunicator/?eraseAlias=true";
  gadgets.io.makeRequest(url, eraseAliasResponse, params);
}

/*
 * Procesa la respuesta de la peticion de borrado de alias
 * Cambia el nombre mostrado de ese usuario por su nombre real
 */
function eraseAliasResponse(data) {
  	// do something
	html = new Array();
	html.push('  ' + data.text);
//	html.push('<a href=# onclick="hidePopup()">X</a>   ');
	document.getElementById("status").innerHTML = html.join('');
	document.getElementById("c" + aliasId).innerHTML = '';
	document.getElementById("a" + aliasId).style.width=22;		
	html = new Array();
	html.push(nameAdapt(globalFriendsName[aliasId]));
	document.getElementById("name" + aliasId).innerHTML = html.join('');
	globalFriendsAlias[aliasId] = null;	
}

/*
 *  Llama al usuario pasado como parametro
 */
function call(calleeId) {
//	document.getElementById("callButton" + calleeId).innerHTML = '';
//	showhide(document.getElementById("disabledCallButton" + calleeId));
	makeCallPOSTRequest(calleeId);	
}

/*
 * Peticion de llamada a un usuario
 */
function makeCallPOSTRequest(calleeId) {
  var params = {};
  var json = gadgets.json.stringify(friendIDs);
  var postdata = {
    caller : globalViewer.getId(),
    nombre : encodeUrl(globalViewer.getDisplayName()),
    callee : calleeId,
    uids: json
  };
  params[gadgets.io.RequestParameters.AUTHORIZATION] = gadgets.io.AuthorizationType.SIGNED;
  params[gadgets.io.RequestParameters.CONTENT_TYPE] =  gadgets.io.ContentType.JSON;
  params[gadgets.io.RequestParameters.METHOD] = gadgets.io.MethodType.POST;
  params[gadgets.io.RequestParameters.POST_DATA] = gadgets.io.encodeValues(postdata);
  var url = "http://brisa.tid.es/MySpaceCommunicator/click2dial";
  gadgets.io.makeRequest(url, callResponse, params);
}

/*
 * Procesa la respuesta de la peticion de llamada y muestra el estado
 */
function callResponse(data) {
  	// do something
	html = new Array();
	html.push(data.text);
//	html.push('<a href=# onclick="hideStatusPopup()">X</a>   ');
	document.getElementById("status").innerHTML = html.join('');
}

/*
 * Envia un mensaje a un usuario
 */
function sendSMS(text, calleeId) {
//	document.getElementById("smsButton" + calleeId).innerHTML = '';
//	showhide(document.getElementById("disabledSmsButton" + calleeId));
	html = new Array();
	html.push('Enviando SMS...');
	document.getElementById("smsStatus").innerHTML = html.join('');
	makeSMSPOSTRequest(text, calleeId);
}

function encodeUrl(url){
	return encodeURI(url);
}

/*
 * Peticion de solicitud de envio de mensaje
 */
function makeSMSPOSTRequest(text, calleeId) {
  var params = {};
  var json = gadgets.json.stringify(friendIDs);
  var postdata = {
  	sms_text: encodeUrl(text),
    caller : globalViewer.getId(),
    nombre : encodeUrl(globalViewer.getDisplayName()),
    callee : calleeId,
    uids: json
  };
  params[gadgets.io.RequestParameters.AUTHORIZATION] = gadgets.io.AuthorizationType.SIGNED;
  params[gadgets.io.RequestParameters.CONTENT_TYPE] =  gadgets.io.ContentType.JSON;
  params[gadgets.io.RequestParameters.METHOD] = gadgets.io.MethodType.POST;
  params[gadgets.io.RequestParameters.POST_DATA] = gadgets.io.encodeValues(postdata);
  var url = "http://brisa.tid.es/MySpaceCommunicator/sendsms";
  gadgets.io.makeRequest(url, smsResponse, params);
}

/*
 * Procesa la respuesta del envio del mensaje y muestra el estado
 */
function smsResponse(data) {
  	// do something
	html = new Array();
	html.push('  ' + data.text);
//	html.push('<a href=# onclick="hidePopup()">X</a>   ');
	document.getElementById("smsStatus").innerHTML = html.join('');
}


///// Funciones de precarga y swap de imagenes /////
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}
///// Fin funciones de precarga y swap de imagenes /////

/*
 * Cuenta el numero de caracteres restantes y limita el texto al tamaño maximo
 */
function trimTextArea (field, maxSize) {
	var nbCarac = 0;
    if (field == undefined) {
       	return false;
    }
    if (maxSize == undefined) {
       	maxSize = 570;
    }
    html = new Array();
    if (field.value != undefined){
       	nbCarac = Math.max((maxSize - field.value.length ), 0);
       	if(nbCarac != 1){
       		html.push(''+ nbCarac  +' caracteres');
       		document.getElementById('nbCaract').innerHTML = html.join('');
    	} else {
    		html.push(''+ nbCarac  +' caracter');
    		document.getElementById('nbCaract').innerHTML = html.join('');
     	}
  	} else {
  		html.push(''+ (maxSize )  +' caracteres')
     	document.getElementById('nbCaract').innerHTML = html.join('');
    }
    if (field.value != undefined && field.value.length > maxSize) {      
    	field.value = field.value.substring(0,maxSize);
        return false;
    }
    return true;
}

/*
 * Asigna un alias a un amigo
 */
function sendAlias(alias, friendId) {
	html = new Array();
	html.push('Guardando nuevo apodo...');
	document.getElementById("aliasStatus").innerHTML = html.join('');
	makeAliasPOSTRequest(alias, friendId);
	aliasId = friendId;
	aliasName = alias;
}

/*
 * Peticion de asignacion de alias
 */
function makeAliasPOSTRequest(alias, friendId) {
  var params = {};
  var postdata = {
  	alias: encodeUrl(alias),
    friendId : friendId
  };
  params[gadgets.io.RequestParameters.AUTHORIZATION] = gadgets.io.AuthorizationType.SIGNED;
  params[gadgets.io.RequestParameters.CONTENT_TYPE] =  gadgets.io.ContentType.JSON;
  params[gadgets.io.RequestParameters.METHOD] = gadgets.io.MethodType.POST;
  params[gadgets.io.RequestParameters.POST_DATA] = gadgets.io.encodeValues(postdata);
  var url = "http://brisa.tid.es/MySpaceCommunicator/?setAlias=true";
  gadgets.io.makeRequest(url, aliasResponse, params);
}

/*
 * Procesa la respuesta de la peticion de asignacion de alias.
 * Muestra por pantalla el resultado de la petición
 * Cambia el nombre real del usuario por el alias asignado
 */
function aliasResponse(data) {
  	// do something
	html = new Array();
	html.push('  ' + data.text);
//	html.push('<a href=# onclick="hidePopup()">X</a>   ');
	document.getElementById("aliasStatus").innerHTML = html.join('');
	html = new Array();
	html.push("\"" + nameAdapt(aliasName) + "\"");
	document.getElementById("name" + aliasId).innerHTML = html.join('');
	globalFriendsAlias[aliasId] = aliasName;
	html = new Array();
	html.push('<a id="eraser' + aliasId + '" href="javascript:void(0);" onclick="eraseAlias(\'' + aliasId + '\');showStatusPopup(this,\'Borrando alias...\');"><img src=http://brisa.tid.es/MySpaceCommunicator/img/aliaseraser.png name="aliaseraser' + aliasId + '" border="0"></img></a>');
	document.getElementById("c" + aliasId).innerHTML = html.join('');
	document.getElementById("a" + aliasId).style.width =39;
	
	
}

/*
 * Muestra por pantalla un popup para realizar la peticion de asignacion de alias
 */
function showAliasPopup(hoveritem, id) {
	x=-36;
	y=10;
	hp = document.getElementById("hoverpopup");
    for (var p = hoveritem; p; p = p.offsetParent)
      if (p.style.position != 'absolute') {
        x += p.offsetLeft;
        y += p.offsetTop;
      }
	x += hoveritem.clientWidth;
	
	html = new Array();
	//Lo ajusto a la pantalla (ancho minimo= 960 px, ancho de popup= 300 px)
	if (x > (960-300)) {
		if (x < 750) {
			html.push('<img src=http://brisa.tid.es/MySpaceCommunicator/img/piquito.png name="pico" border="0" style="position: relative; top: 0; left: ' + (40 + (x - (960-300))) + 'px;"></img>');
		} else {
			html.push('style="position: relative; top: 0; left: 210px;"<img src=http://brisa.tid.es/MySpaceCommunicator/img/piquito2.png name="pico" border="0" style="position: relative; top: 0; left: 210px;"></img>');
		}		
		x = 960 -300;
		html.push('<div class="cajaredonda_Externo"> <b class="cajaredonda_-3"><!--&nbsp;--></b><b class="cajaredonda_-2"><!--&nbsp;--></b><b class="cajaredonda_-1"><!--&nbsp;--></b><b class="cajaredonda_0"><!--&nbsp;--></b><b class="cajaredonda_1"><!--&nbsp;--></b><b class="cajaredonda_2"><!--&nbsp;--></b><b class="cajaredonda_3"><!--&nbsp;--></b><b class="cajaredonda_4"><!--&nbsp;--></b><div class="cajaredonda_Interno"><div style="position:absolute; left: 275px; top: 18px; z-index: 160;"><a style=" font-family:Arial; font-weight:bold; text-decoration:none; color:#003366;" onclick="hidePopup()" href="#">X</a></div><form id="sms_post_form" style="margin: 0 0 0 0;" action="http://brisa.tid.es/MySpaceCommunicator/sendsms"><div class="smallfont" style="font-weight:bold; padding: 10 0 0 0;">Ponle un apodo:<br/></div><input id="apodo" class="text" maxlength="28" name="apodo" style="color: rgb(119, 119, 119);"></input><br/><input id="PostSMS" style="display:" class="inputbutton" type="submit" value=" Enviar " name="SMS" onclick="enabledisable(PostSMS);sendAlias(apodo.value, \'' + id + '\');return false;"/><br/><div id="aliasStatus"></div></form></div><b class="cajaredonda_4b"><!--&nbsp;--></b><b class="cajaredonda_3b"><!--&nbsp;--></b><b class="cajaredonda_2b"><!--&nbsp;--></b><b class="cajaredonda_1b"><!--&nbsp;--></b><b class="cajaredonda_0b"><!--&nbsp;--></b><b class="cajaredonda_-1b"><!--&nbsp;--></b><b class="cajaredonda_-2b"><!--&nbsp;--></b><b class="cajaredonda_-3b"><!--&nbsp;--></b></div>');

	} else {
		html.push('<img src=http://brisa.tid.es/MySpaceCommunicator/img/piquito.png name="pico" border="0" style="position: relative; top: 0; left: 40px;"></img><div class="cajaredonda_Externo"> <b class="cajaredonda_-3"><!--&nbsp;--></b><b class="cajaredonda_-2"><!--&nbsp;--></b><b class="cajaredonda_-1"><!--&nbsp;--></b><b class="cajaredonda_0"><!--&nbsp;--></b><b class="cajaredonda_1"><!--&nbsp;--></b><b class="cajaredonda_2"><!--&nbsp;--></b><b class="cajaredonda_3"><!--&nbsp;--></b><b class="cajaredonda_4"><!--&nbsp;--></b><div class="cajaredonda_Interno"><div style="position:absolute; left: 275px; top: 18px; z-index: 160;"><a style=" font-family:Arial; font-weight:bold; text-decoration:none; color:#003366;" onclick="hidePopup()" href="#">X</a></div><form id="sms_post_form" action="http://brisa.tid.es/MySpaceCommunicator/sendsms" style="margin: 0 0 0 0;"><div class="smallfont" style="font-weight:bold; padding: 10 0 0 0;">Ponle un apodo:<br/></div><input id="apodo" class="text" maxlength="28" name="apodo" style="color: rgb(119, 119, 119);"></input><br/><input id="PostSMS" style="display:" class="inputbutton" type="submit" value=" Enviar " name="SMS" onclick="enabledisable(PostSMS);sendAlias(apodo.value, \'' + id + '\');return false;"/><br/><div id="aliasStatus"></div></form></div><b class="cajaredonda_4b"><!--&nbsp;--></b><b class="cajaredonda_3b"><!--&nbsp;--></b><b class="cajaredonda_2b"><!--&nbsp;--></b><b class="cajaredonda_1b"><!--&nbsp;--></b><b class="cajaredonda_0b"><!--&nbsp;--></b><b class="cajaredonda_-1b"><!--&nbsp;--></b><b class="cajaredonda_-2b"><!--&nbsp;--></b><b class="cajaredonda_-3b"><!--&nbsp;--></b></div>');
	}
	
	// Set position of hover-over popup
    hp.style.left = x+'px';
    hp.style.top  = y+'px';

	
	// style="height: 80px;"
	
//	html.push('<div id="pico" style="position: relative; top: 0; left: 40px;"><img src=http://brisa.tid.es/MySpaceCommunicator/img/piquito.png name="pico" border="0"></img></div><div class="cajaredonda_Externo"> <b class="cajaredonda_-3"><!--&nbsp;--></b><b class="cajaredonda_-2"><!--&nbsp;--></b><b class="cajaredonda_-1"><!--&nbsp;--></b><b class="cajaredonda_0"><!--&nbsp;--></b><b class="cajaredonda_1"><!--&nbsp;--></b><b class="cajaredonda_2"><!--&nbsp;--></b><b class="cajaredonda_3"><!--&nbsp;--></b><b class="cajaredonda_4"><!--&nbsp;--></b><div class="cajaredonda_Interno" style="height: 80px;"><span class="smallfont" style="font-weight:bold;">Ponle un apodo:<br/></span><input id="apodo" class="text" maxlength="28" name="apodo" style="color: rgb(119, 119, 119);"></input><br/><input id="PostSMS" style="display:" class="inputbutton" type="button" value=" Post " name="SMS" onclick="enabledisable(PostSMS);sendAlias(apodo.value, \'' + id + '\');return false;"/><input id="CancelSMS" class="inputbutton" type="button" value=" Cancel " name="SMS" onclick="hidePopup()"/><br/><div id="aliasStatus"></div></div><b class="cajaredonda_4b"><!--&nbsp;--></b><b class="cajaredonda_3b"><!--&nbsp;--></b><b class="cajaredonda_2b"><!--&nbsp;--></b><b class="cajaredonda_1b"><!--&nbsp;--></b><b class="cajaredonda_0b"><!--&nbsp;--></b><b class="cajaredonda_-1b"><!--&nbsp;--></b><b class="cajaredonda_-2b"><!--&nbsp;--></b><b class="cajaredonda_-3b"><!--&nbsp;--></b></div>');
	hp.innerHTML = html.join('');	

	// Set popup to visible
	hp.style.visibility = "Visible";
	document.getElementById('bloqueador').style.display='block';
}

/*
 * Peticion que valida si un usuario puede mandar SMS a otro
 */
function makeValidatePOSTRequest(calleeId) {
  var params = {};
  var json = gadgets.json.stringify(friendIDs);
  var postdata = {
    caller : globalViewer.getId(),
    nombre : encodeUrl(globalViewer.getDisplayName()),
    callee : calleeId,
    uids: json
  };
  params[gadgets.io.RequestParameters.AUTHORIZATION] = gadgets.io.AuthorizationType.SIGNED;
  params[gadgets.io.RequestParameters.CONTENT_TYPE] =  gadgets.io.ContentType.JSON;
  params[gadgets.io.RequestParameters.METHOD] = gadgets.io.MethodType.POST;
  params[gadgets.io.RequestParameters.POST_DATA] = gadgets.io.encodeValues(postdata);
  var url = "http://brisa.tid.es/MySpaceCommunicator/validateUser";
  gadgets.io.makeRequest(url, validateResponse, params);
}

/*
 * Procesa la respuesta de la peticion de validacion.
 * Si es valida, muestra el cuadro de escritura de mensaje
 * Si no es valida, muestra la respuesta.
 */
function validateResponse(data) {
	html = new Array();
	if (data.text.indexOf("VIEW_OK") != -1) {
		var maxCar = 160;
		html.push('<form id="sms_post_form" action="http://brisa.tid.es/MySpaceCommunicator/sendsms" style="margin: 0 0 0 0;"><div class="smallfont" style="font-weight:bold; padding: 10 0 0 0;">Escribe tu mensaje:<br/><div id="nbCaract" style="margin: 5pt 0pt 0pt 24px; font-weight: normal; font-size: 12px; text-align: left;">' + maxCar + ' caracteres</div></div><textarea id="sms_text" class="textarea" rows="4" cols="26" name="sms_text" onKeyDown="return trimTextArea(this,' + maxCar  + ');" onKeyUp="return trimTextArea(this,\'' + maxCar + '\');"></textarea><br/><input id="PostSMS" style="display:" class="inputbutton" type="button" value=" Enviar " name="SMS" onclick="enabledisable(PostSMS);sendSMS(sms_text.value, \'' + smsId + '\');return false;"/><br/><div id="smsStatus"></div></form>');
	} else {
		html.push('<br/>' + data.text);
	}
	document.getElementById("cuerpo").innerHTML = html.join('');
}


/*
 * Muestra por pantalla un popup para la escritura de un SMS
 */
function showPopup(hoveritem, id) {
	x=-24;
	y=5;
	var maxCar = 160;
	hp = document.getElementById("hoverpopup");
    for (var p = hoveritem; p; p = p.offsetParent)
      if (p.style.position != 'absolute') {
        x += p.offsetLeft;
        y += p.offsetTop;
      }
	x += hoveritem.clientWidth;
	
	html = new Array();
	//Lo ajusto a la pantalla (ancho minimo= 940 px, ancho de popup= 300 px)
	if (x > (940-300)) {
		x = 940 -300;
		html.push('<img src=http://brisa.tid.es/MySpaceCommunicator/img/piquito2.png name="pico" border="0" style="position: relative; top: 0; left: 160px;"></img><div class="cajaredonda_Externo"> <b class="cajaredonda_-3"><!--&nbsp;--></b><b class="cajaredonda_-2"><!--&nbsp;--></b><b class="cajaredonda_-1"><!--&nbsp;--></b><b class="cajaredonda_0"><!--&nbsp;--></b><b class="cajaredonda_1"><!--&nbsp;--></b><b class="cajaredonda_2"><!--&nbsp;--></b><b class="cajaredonda_3"><!--&nbsp;--></b><b class="cajaredonda_4"><!--&nbsp;--></b><div class="cajaredonda_Interno"><div style="position:absolute; left: 275px; top: 18px; z-index: 160;"><a style=" font-family:Arial; font-weight:bold; text-decoration:none; color:#003366;" onclick="hidePopup()" href="#">X</a></div><div id="cuerpo">Cargando... Espera, por favor.</div></div><b class="cajaredonda_4b"><!--&nbsp;--></b><b class="cajaredonda_3b"><!--&nbsp;--></b><b class="cajaredonda_2b"><!--&nbsp;--></b><b class="cajaredonda_1b"><!--&nbsp;--></b><b class="cajaredonda_0b"><!--&nbsp;--></b><b class="cajaredonda_-1b"><!--&nbsp;--></b><b class="cajaredonda_-2b"><!--&nbsp;--></b><b class="cajaredonda_-3b"><!--&nbsp;--></b></div>');
//<form id="sms_post_form" action="http://brisa.tid.es/MySpaceCommunicator/sendsms" style="margin: 0 0 0 0;"><div class="smallfont" style="font-weight:bold; padding: 10 0 0 0;">Escribe tu mensaje:<br/><div id="nbCaract" style="margin: 5pt 0pt 0pt 24px; font-weight: normal; font-size: 12px; text-align: left;">' + maxCar + ' caracteres</div></div><textarea id="sms_text" class="textarea" rows="4" cols="26" name="sms_text" onKeyDown="return trimTextArea(this,' + maxCar  + ');" onKeyUp="return trimTextArea(this,\'' + maxCar + '\');"></textarea><br/><input id="PostSMS" style="display:" class="inputbutton" type="button" value=" Enviar " name="SMS" onclick="enabledisable(PostSMS);sendSMS(sms_text.value, \'' + id + '\');return false;"/><br/><div id="smsStatus"></div></form>	
	} else {
		html.push('<img src=http://brisa.tid.es/MySpaceCommunicator/img/piquito.png name="pico" border="0" style="position: relative; top: 0; left: 40px;"></img><div class="cajaredonda_Externo"> <b class="cajaredonda_-3"><!--&nbsp;--></b><b class="cajaredonda_-2"><!--&nbsp;--></b><b class="cajaredonda_-1"><!--&nbsp;--></b><b class="cajaredonda_0"><!--&nbsp;--></b><b class="cajaredonda_1"><!--&nbsp;--></b><b class="cajaredonda_2"><!--&nbsp;--></b><b class="cajaredonda_3"><!--&nbsp;--></b><b class="cajaredonda_4"><!--&nbsp;--></b><div class="cajaredonda_Interno"><div style="position:absolute; left: 275px; top: 18px; z-index: 160;"><a style=" font-family:Arial; font-weight:bold; text-decoration:none; color:#003366;" onclick="hidePopup()" href="#">X</a></div><div id="cuerpo">Cargando... Espera, por favor.</div></div><b class="cajaredonda_4b"><!--&nbsp;--></b><b class="cajaredonda_3b"><!--&nbsp;--></b><b class="cajaredonda_2b"><!--&nbsp;--></b><b class="cajaredonda_1b"><!--&nbsp;--></b><b class="cajaredonda_0b"><!--&nbsp;--></b><b class="cajaredonda_-1b"><!--&nbsp;--></b><b class="cajaredonda_-2b"><!--&nbsp;--></b><b class="cajaredonda_-3b"><!--&nbsp;--></b></div>');
	}
	
	// Set position of hover-over popup
    hp.style.left = x+'px';
    hp.style.top  = y+'px';

	
	// style="height: 220px;"
//	html.push('<div id="pico" style="position: relative; top: 0; left: 40px;"><img src=http://brisa.tid.es/MySpaceCommunicator/img/piquito.png name="pico" border="0"></img></div><div class="cajaredonda_Externo"> <b class="cajaredonda_-3"><!--&nbsp;--></b><b class="cajaredonda_-2"><!--&nbsp;--></b><b class="cajaredonda_-1"><!--&nbsp;--></b><b class="cajaredonda_0"><!--&nbsp;--></b><b class="cajaredonda_1"><!--&nbsp;--></b><b class="cajaredonda_2"><!--&nbsp;--></b><b class="cajaredonda_3"><!--&nbsp;--></b><b class="cajaredonda_4"><!--&nbsp;--></b><div class="cajaredonda_Interno"><div style="text-align:right;"><a style=" font-family:Arial; font-weight:bold; text-decoration:none; color:#003366;" onclick="hidePopup()" href="#">X</a></div><form id="sms_post_form" action="http://brisa.tid.es/MySpaceCommunicator/sendsms"><span class="smallfont" style="font-weight:bold;">Escribe tu mensaje:<br/></span><textarea id="sms_text" class="textarea" rows="4" cols="26" name="sms_text" style="color: rgb(119, 119, 119);"></textarea><br/><input id="PostSMS" style="display:" class="inputbutton" type="button" value=" Enviar " name="SMS" onclick="enabledisable(PostSMS);sendSMS(sms_text.value, \'' + id + '\');return false;"/><br/><div id="smsStatus"></div></form></div><b class="cajaredonda_4b"><!--&nbsp;--></b><b class="cajaredonda_3b"><!--&nbsp;--></b><b class="cajaredonda_2b"><!--&nbsp;--></b><b class="cajaredonda_1b"><!--&nbsp;--></b><b class="cajaredonda_0b"><!--&nbsp;--></b><b class="cajaredonda_-1b"><!--&nbsp;--></b><b class="cajaredonda_-2b"><!--&nbsp;--></b><b class="cajaredonda_-3b"><!--&nbsp;--></b></div>');
	
	hp.innerHTML = html.join('');
	smsId = id;
	makeValidatePOSTRequest(id);
	
	//Curve the box
//	settings = {
//      tl: { radius: 8 },
//      tr: { radius: 8 },
//      bl: { radius: 8 },
//      br: { radius: 8 },
//      antiAlias: true,
//      autoPad: false
//    }
//    var cornersObj = new curvyCorners(settings, hp);
//    cornersObj.applyCornersToAll();

	// Set popup to visible
	hp.style.visibility = "Visible";
	document.getElementById('bloqueador').style.display='block';
}

/*
 * Esconde el popup de alias, mensaje
 */
function hidePopup() {
	hp = document.getElementById("hoverpopup");
	hp.style.visibility = "Hidden";
	document.getElementById('bloqueador').style.display='none';
}

/*
 * Muestra el popup de estado de la peticion de llamada
 */
function showStatusPopup(hoveritem, message) {
	x=-24;
	y=5;
	hp = document.getElementById("statuspopup");
    for (var p = hoveritem; p; p = p.offsetParent)
      if (p.style.position != 'absolute') {
        x += p.offsetLeft;
        y += p.offsetTop;
      }
	x += hoveritem.clientWidth;
	
	html = new Array();
	//Lo ajusto a la pantalla (ancho minimo= 940 px, ancho de popup= 300 px)
	if (x > (940-300)) {
		if (x < 750) {
			html.push('<img src=http://brisa.tid.es/MySpaceCommunicator/img/piquito.png name="pico" border="0" style="position: relative; top: 0; left: ' + (40 + (x - (940-300))) + 'px;"></img>');
		} else  {
			html.push('<img src=http://brisa.tid.es/MySpaceCommunicator/img/piquito2.png name="pico" border="0" style="position: relative; top: 0; left: 200px;"></img>');			
		}		
		x = 940 -300;
		html.push('<div class="cajaredonda_Externo"> <b class="cajaredonda_-3"><!--&nbsp;--></b><b class="cajaredonda_-2"><!--&nbsp;--></b><b class="cajaredonda_-1"><!--&nbsp;--></b><b class="cajaredonda_0"><!--&nbsp;--></b><b class="cajaredonda_1"><!--&nbsp;--></b><b class="cajaredonda_2"><!--&nbsp;--></b><b class="cajaredonda_3"><!--&nbsp;--></b><b class="cajaredonda_4"><!--&nbsp;--></b><div class="cajaredonda_Interno"><div style="text-align:right;"><a style=" font-family:Arial; font-weight:bold; text-decoration:none; color:#003366;" onclick="hideStatusPopup()" href="#">X</a></div><div id="status">' + message + '</div></div><b class="cajaredonda_4b"><!--&nbsp;--></b><b class="cajaredonda_3b"><!--&nbsp;--></b><b class="cajaredonda_2b"><!--&nbsp;--></b><b class="cajaredonda_1b"><!--&nbsp;--></b><b class="cajaredonda_0b"><!--&nbsp;--></b><b class="cajaredonda_-1b"><!--&nbsp;--></b><b class="cajaredonda_-2b"><!--&nbsp;--></b><b class="cajaredonda_-3b"><!--&nbsp;--></b></div>');
	} else  {
		html.push('<img src=http://brisa.tid.es/MySpaceCommunicator/img/piquito.png name="pico" border="0" style="position: relative; top: 0; left: 40px;"></img><div class="cajaredonda_Externo"> <b class="cajaredonda_-3"><!--&nbsp;--></b><b class="cajaredonda_-2"><!--&nbsp;--></b><b class="cajaredonda_-1"><!--&nbsp;--></b><b class="cajaredonda_0"><!--&nbsp;--></b><b class="cajaredonda_1"><!--&nbsp;--></b><b class="cajaredonda_2"><!--&nbsp;--></b><b class="cajaredonda_3"><!--&nbsp;--></b><b class="cajaredonda_4"><!--&nbsp;--></b><div class="cajaredonda_Interno"><div style="text-align:right;"><a style=" font-family:Arial; font-weight:bold; text-decoration:none; color:#003366;" onclick="hideStatusPopup()" href="#">X</a></div><div id="status">' + message + '</div></div><b class="cajaredonda_4b"><!--&nbsp;--></b><b class="cajaredonda_3b"><!--&nbsp;--></b><b class="cajaredonda_2b"><!--&nbsp;--></b><b class="cajaredonda_1b"><!--&nbsp;--></b><b class="cajaredonda_0b"><!--&nbsp;--></b><b class="cajaredonda_-1b"><!--&nbsp;--></b><b class="cajaredonda_-2b"><!--&nbsp;--></b><b class="cajaredonda_-3b"><!--&nbsp;--></b></div>');
	}
	
	// Set position of hover-over popup
    hp.style.left = x+'px';
    hp.style.top  = y+'px';

	
	// style="height: 150px;"
	
//	html.push('<div id="status" bgcolor="#86A1C5" style="color:#ffffff;padding:10px">' + message + '...</div>');
	hp.innerHTML = html.join('');	
	//Curve the box
//	settings = {
//      tl: { radius: 8 },
//      tr: { radius: 8 },
//      bl: { radius: 8 },
//      br: { radius: 8 },
//      antiAlias: true,
//      autoPad: false
//    }
//    var cornersObj = new curvyCorners(settings, hp);
//    cornersObj.applyCornersToAll();

	// Set popup to visible
	hp.style.visibility = "Visible";
	document.getElementById('bloqueador').style.display='block';
}

/*
 * Muestra el popup de estado de la peticion de cambio de privacidad
 */
function showPrivacyPopup(hoveritem, message) {
	x=-109;
	y=85;
	hp = document.getElementById("statuspopup");
    for (var p = hoveritem; p; p = p.offsetParent)
      if (p.style.position != 'absolute') {
        x += p.offsetLeft;
        y += p.offsetTop;
      }
	x += hoveritem.clientWidth;
	
	html = new Array();
	//Lo ajusto a la pantalla (ancho minimo= 940 px, ancho de popup= 300 px)
	if (x > (940-300)) {
		if (x < 750) {
			html.push('<img src=http://brisa.tid.es/MySpaceCommunicator/img/piquito.png name="pico" border="0" style="position: relative; top: 0; left: ' + (40 + (x - (940-300))) + 'px;"></img>');
		} else  {
			html.push('<img src=http://brisa.tid.es/MySpaceCommunicator/img/piquito2.png name="pico" border="0" style="position: relative; top: 0; left: 200px;"></img>');			
		}		
		x = 940 -300;
		html.push('<div class="cajaredonda_Externo"> <b class="cajaredonda_-3"><!--&nbsp;--></b><b class="cajaredonda_-2"><!--&nbsp;--></b><b class="cajaredonda_-1"><!--&nbsp;--></b><b class="cajaredonda_0"><!--&nbsp;--></b><b class="cajaredonda_1"><!--&nbsp;--></b><b class="cajaredonda_2"><!--&nbsp;--></b><b class="cajaredonda_3"><!--&nbsp;--></b><b class="cajaredonda_4"><!--&nbsp;--></b><div class="cajaredonda_Interno"><div style="text-align:right;"><a style=" font-family:Arial; font-weight:bold; text-decoration:none; color:#003366;" onclick="hideStatusPopup()" href="#">X</a></div><div id="status">' + message + '</div></div><b class="cajaredonda_4b"><!--&nbsp;--></b><b class="cajaredonda_3b"><!--&nbsp;--></b><b class="cajaredonda_2b"><!--&nbsp;--></b><b class="cajaredonda_1b"><!--&nbsp;--></b><b class="cajaredonda_0b"><!--&nbsp;--></b><b class="cajaredonda_-1b"><!--&nbsp;--></b><b class="cajaredonda_-2b"><!--&nbsp;--></b><b class="cajaredonda_-3b"><!--&nbsp;--></b></div>');
	} else  {
		html.push('<img src=http://brisa.tid.es/MySpaceCommunicator/img/piquito.png name="pico" border="0" style="position: relative; top: 0; left: 40px;"></img><div class="cajaredonda_Externo"> <b class="cajaredonda_-3"><!--&nbsp;--></b><b class="cajaredonda_-2"><!--&nbsp;--></b><b class="cajaredonda_-1"><!--&nbsp;--></b><b class="cajaredonda_0"><!--&nbsp;--></b><b class="cajaredonda_1"><!--&nbsp;--></b><b class="cajaredonda_2"><!--&nbsp;--></b><b class="cajaredonda_3"><!--&nbsp;--></b><b class="cajaredonda_4"><!--&nbsp;--></b><div class="cajaredonda_Interno"><div style="text-align:right;"><a style=" font-family:Arial; font-weight:bold; text-decoration:none; color:#003366;" onclick="hideStatusPopup()" href="#">X</a></div><div id="status">' + message + '</div></div><b class="cajaredonda_4b"><!--&nbsp;--></b><b class="cajaredonda_3b"><!--&nbsp;--></b><b class="cajaredonda_2b"><!--&nbsp;--></b><b class="cajaredonda_1b"><!--&nbsp;--></b><b class="cajaredonda_0b"><!--&nbsp;--></b><b class="cajaredonda_-1b"><!--&nbsp;--></b><b class="cajaredonda_-2b"><!--&nbsp;--></b><b class="cajaredonda_-3b"><!--&nbsp;--></b></div>');
	}
	
	// Set position of hover-over popup
    hp.style.left = x+'px';
    hp.style.top  = y+'px';

	
	// style="height: 150px;"
	
//	html.push('<div id="status" bgcolor="#86A1C5" style="color:#ffffff;padding:10px">' + message + '...</div>');
	hp.innerHTML = html.join('');	

	// Set popup to visible
	hp.style.visibility = "Visible";
	document.getElementById('bloqueador').style.display='block';
}

/*
 * Esconde el popup de estado de llamada, privacidad
 */
function hideStatusPopup() {
	hp = document.getElementById("statuspopup");
	hp.style.visibility = "Hidden";
	document.getElementById('bloqueador').style.display='none';	
}
