////////////////////////////////////////////////////////
////////////////////////////////////////////////////////
// detector de que la aplicación está completamente cargada
var bloques_cargados = 0; var aplicacionCargada = false;
function cargue_unbloque_estado( cual, estado ){
	aparecer();
	bloques_cargados++;
	if( bloques_cargados == 4 ){
		bloques_cargados = 0;
		aplicacionCargada = true;
		aplicacionYaCargada();
	}
}
function aplicacionYaCargada(){
	cambiarclassName( 'cargandotodo', "oculto" );
	cambiarclassName( 'bloqueCargando', "oculto" );
	displayAlgoDiv( 'bloqueCentral', '' );
	redimensionarVentanas();
	redimensionarVentanasForce();
	procesarEntradaAplicacion();
}
var sitioInicial = ""; var sitioInicialTras = "";
function procesarEntradaAplicacion(){
	var sI = sitioInicial.split("_");
	if( sitioInicial == "" ){
		irToTuentidad();
	}else{
		switch( sI[0] ){
			case "#entidad":
			case "#tuentidad":
				if( sI.length > 1 ){
					irToTuentidadDe( sI[1] );
				}else{
					irToTuentidad();
				}
				break;
			case "#medio":
				if( sI.length > 1 ){
					irToMedio( sI[1] );
				}else{
					irToTuentidad();
				}
				break;
			case "#album":
				if( sI.length > 1 ){
					irToAlbum( sI[1] );
				}else{
					irToTuentidad();
				}
				break;
		}				
	}
	sitioInicial = "";
}
/////////////////////////////////////////////////////////////////////////////////////
// Esta función cargará las paginas con sincronismo <JS>
function llamaraconsincronismo(id_contenedor, url, vares, strng, evitarCargando ){
	vares = vares || "";
	evitarCargando = evitarCargando || false;
	if( strng != "<" ){
		strng = strng || "<div class='bloque5_tabloncuerpo'><b>cargando...</b></div>";
		id = document.getElementById(id_contenedor);
		id.innerHTML = strng;
	}
	var miAjax = new Ajax(url,
		{
			method:'post',
			data:vares,
			update:id,
			onComplete:function(){
				if( !evitarCargando ){
					cambiarclassName( 'cargandotodo', "oculto" );
				}
				this.evalScripts();
				if( id_contenedor == 'emergenteContenido' ){
					subiremergenteContenido();	
				}
			}
		}
	);
	if( !evitarCargando ){
		aparecer();
	}
	miAjax.request();
}
/////////////////////////////////////////////////////////////////////////////////////
// Esta función cargará las paginas en texto plano
function llamarasincrono(id_contenedor, url){
	var pagina_requerida = false;
	if (window.XMLHttpRequest) {// Si es Mozilla, Safari, etc...
		pagina_requerida = new XMLHttpRequest()
	}else if (window.ActiveXObject){ // pero si es IE
		try{
			pagina_requerida = new ActiveXObject("Msxml2.XMLHTTP")
		}catch(e){ // en caso que sea una versión antigua de IE...
			try{
				pagina_requerida = new ActiveXObject("Microsoft.XMLHTTP")
			}catch(e){
				return false;
			}
		}
	}else{
		return false;
	}
	pagina_requerida.onreadystatechange = function(){ // función de respuesta
		cargarpagina(id_contenedor, pagina_requerida);
	}
	aparecer();
	pagina_requerida.open('GET', url, true); // llamamos a los métodos open y send
	pagina_requerida.send(null);
	this.evalScripts();
}
// todo es correcto y ha llegado el momento de poner la información requerida
// en su sitio en la pagina xhtml
function cargarpagina(id_contenedor, pagina_requerida){
	if (pagina_requerida.readyState == 4 && (pagina_requerida.status==200 || window.location.href.indexOf("http")==-1) ){
		cambiarclassName( 'cargandotodo', "oculto" );
		document.getElementById(id_contenedor).innerHTML = pagina_requerida.responseText;
	}
}
// todo es correcto y ha llegado el momento de poner la información requerida
// en su sitio en la pagina xhtml
function evalPlantilla( idplantilla ){
	if( datos_plantillas[idplantilla] != null ){
		eval( urlunescape(datos_plantillas[idplantilla][0]) );
		return true;
	}else{
		return false;
	}
}
/////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////
function cargarVariableTextoPlano(url, funcionAviso, idMAGICO, valorPOST, evitarCargando ){
	valorPOST = valorPOST || null;
	evitarCargando = evitarCargando || false;
	var ajax = false;
	if (window.XMLHttpRequest) {// Si es Mozilla, Safari, etc...
		ajax = new XMLHttpRequest();
	}else if (window.ActiveXObject){ // pero si es IE
		try{
			ajax = new ActiveXObject("Msxml2.XMLHTTP");
		}catch(e){ // en caso que sea una versión antigua de IE...
			try{
				ajax = new ActiveXObject("Microsoft.XMLHTTP");
			}catch(e){
				return false;
			}
		}
	}else{
		return false;
	}
	ajax.onreadystatechange = function(){ // función de respuesta
		if( ajax != null && ajax.readyState >= 3 ){
			gaResponseHeaders = false;
			try{
				gaResponseHeaders = ajax.getAllResponseHeaders();
			}catch(e){
			}
			if( gaResponseHeaders ){
				if( gaResponseHeaders.split("Content-Length: ").length > 1 ){
					var bytesLoaded = ajax.responseText.length;
					var bytesTotal  = gaResponseHeaders.split("Content-Length: ")[1].split("\n")[0];
					//ponerIDconAlgoEstatico('piedepaginaval', "Descargado: "+ Math.round(100*bytesLoaded/bytesTotal) +"% "+bytesLoaded+"/"+bytesTotal);
				}
			}
		}
		if ( ajax.readyState == 4 ){
			if( !evitarCargando ){
				cambiarclassName( 'cargandotodo', "oculto" );
			}
			//ponerIDconAlgoEstatico('piedepaginaval', "Completada la petici&oacute;n #"+idMAGICO);
			if( ajax.responseText.split(",")[0] == 403 ){
				alert("Has accedido desde otro sitio");
				cerrarSesion(true);
			}else{
				if( ajax.status==200 || window.location.href.indexOf("http")==-1 ){
					funcionAviso(idMAGICO, ajax.responseText, true);
				}else{
					funcionAviso(idMAGICO, ajax.responseText, false);
				}
			}
		}
	}
	if( !evitarCargando ){
		aparecer();
	}
	ajax.open('POST', url, true); // llamamos a los métodos open y send
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	ajax.send(valorPOST);
}
function cargarVariableEXAMPLE( idMagico, texto, bien ){
	if( bien ){
		alert(idMagico+": (bien) "+texto);
	}else{
		alert(idMagico+":  (mal) "+texto);
	}
}
//////////////////////////////////////////////////////////
var cargandoColor = 0;
function aparecer(){
	cargandoColor = -50;
	apareciendo();
	cambiarclassName( 'cargandotodo', "" );
	cambiarclassName( 'cargandodiv', "" );
	cambiarclassName( 'cargandospera', 'oculto' );
	window.setTimeout("cambiarclassName( 'cargandospera', 'cargandodiv' );", 500);	
}
function apareciendo(){
	var obj = document.getElementById('cargandotodo');
	var color = (cargandoColor += 10); if( color < 0 ){ color = 0;}
	if (!(color>=110)){
		obj.style.filter = 'alpha(opacity='+color+')';
			obj.style.opacity = color / 100;
			obj.style.MozOpacity = color /100;
			obj.style.KHTMLOpacity = color /100;
		window.setTimeout("apareciendo();", 100);
	}
}
////////////////////////////////////////////////////////
////////////////////////////////////////////////////////

function insertarEnConjunto( array, clave, valor ){
	for( var i = 0; i < array.length; i++ ){
		if( array[i][0] == clave ){
			array[i].push( valor );
			return true;
		}
	}
	array.push( new Array( clave, valor ) );
	return false;
}

////////////////////////////////////////////////////////
////////////////////////////////////////////////////////
// detector de archivos cargados
var estadoUpload = -1;
var fileUpload = false;
timesalir();
function timesalir(){ 
	window.setInterval("PuedeHaberSubido();",500); 
}
function PuedeHaberSubido(){
	var hasah = window.location.hash.split("_");
	if( hasah[0] == "#medioSubido" ){ 
		resultadoUpload(hasah[1], hasah[2]);
		window.location.hash = anteriorHash;
	}
} 
function resultadoUpload(estado, file) {
	var mensaje = "Desconocido";
	if(estado == 0) mensaje = 'El archivo ' + file + ' se ha subido al servidor correctamente';
	if(estado == 1) mensaje = 'Error ! - El archivo no ha llegado al servidor';
	if(estado == 2) mensaje = 'Error ! - Solo se permiten archivos tipo IMAGEN';
	if(estado == 3) mensaje = 'Error ! - No se pudo copiar el archivo. Posible problema de permisos en servidor';
	if(estado == 4) mensaje = 'Error ! - Llave incorrecta';
	alert(estado+") "+mensaje);
	if( document.fsubirim != null ){
		desclickar();
	}
}

////////////////////////////////////////////////////////
// referente al socket
var socketArrancado = false;
function arrancarSocket( ){
	if( !socketArrancado ){
		arrancarSocketYa();
	}
}
function arrancarSocketYa(){
	var datos = tuentidad_IDusu+" "+tuentidad_HASHusu;
	arrancarSocketCon(datos);
}
function arrancarSocketCon( datos ){
	if( datos == "" ){
		socketArrancado = false;
	}else{
		socketArrancado = true;
	}
	document.getElementById("sockets").src = "sockets.php?datos=" +datos+"&"+dameFufo();
}
function avisoSocket( que ){
	var avisos = que.split(":");
	for( var i = 0; i < avisos.length; i++){
		var elque = avisos[i];
		var aque = elque.split(" ");
		switch( aque[0] ){
			case "INICIOSES":	
				if( esContactoGenteTuyo(aque[1]) || tuentidad_IDusu == 1 ){
					if( confirm( "El usuario #"+aque[1]+" se ha conectado"+"\n"+"Pulsa aceptar para verlo:") ) {
						irToTuentidadDe(aque[1]);
					}
				}		
				break;
			case "TUENTCHAT":
				meter_conversacion_push( aque[2], dameFufo()+":"+aque[1]+":"+aque[2]+":"+aque[3] );
				conversacionColgar( aque[2], false );
			case "":
			case "hola":
			case "TUENTIPNG":
			break;
		default:
			alert( elque );
		}
	}
}

////////////////////////////////////////////////////////
// contenedor de conversaciones
var datos_conversaciones = new Array();
function meter_conversacion_push( cual, fila ){
	meter_conversaciones( cual );
	var fila = fila.split(":");
	if( datos_conversaciones[cual] == null ){
		datos_conversaciones[cual] = new Array();
	}
	datos_conversaciones[cual].push( fila );
}
function meter_conversacion( cual, valor ){
	valor = valor.split("\n");
	for( var i = 0; i < valor.length; i++){
		valor[i] = valor[i].split(":");
	}
	datos_conversaciones[cual] = valor;
}
var conversacionesAhora = new Array();
function meter_conversaciones( cual ){
	for( var i = 0; i < conversacionesAhora.length; i++){
		if( conversacionesAhora[i] == cual ){
			return false;
		}
	}
	conversacionesAhora.push( cual );
	converTodasMostrar();
	return true;	
}
function sacar_conversaciones( cual ){
	for( var i = 0; i < conversacionesAhora.length; i++){
		if( conversacionesAhora[i] == cual ){
			conversacionesAhora.splice(i,1);
			if( IDusuConversacion == cual ){
				// si es igual / y si queda alguna
				if( conversacionesAhora.length > 0 ){
					conversacionColgar(conversacionesAhora[0], true );
				}else{
					// si ya no queda ningua, cerramos todo
					minimizarConversacion();
				}
			}
			converTodasMostrar();
			return true;
		}
	}
	return false;	
}




////////////////////////////////////////////////////////
// contenedor de entidades de usuario
var entidad_usuario = new Array();
function meter_entidades( cual, valor ){
	entidad_usuario[cual] = valor.split(":");
}
////////////////////////////////////////////////////////
// contenedor de datos de usuario
var datos_usuario = new Array();
function meter_datos( cual, valor ){
	valor = valor.split("\n");
	for( var i = 0; i < valor.length; i++){
		valor[i] = valor[i].split(":");
	}
	datos_usuario[cual] = valor;
}
function meter_datosL( cual, valor, linea ){
	var valore0 = valor.split(":");
	if( datos_usuario[cual] == null ){
		meter_datos( cual, valor );
	}else{
		datos_usuario[cual][linea] = valore0;
	}
}
////////////////////////////////////////////////////////
// contenedor de entidades de visitante
var entidad_visitante = new Array();
function meter_ventidades( cual, valor ){
	entidad_visitante[cual] = valor.split(":");
}
////////////////////////////////////////////////////////
// contenedor de datos de visitantes
var datos_visitante = new Array();
function meter_vdatos( cual, valor ){
	valor = valor.split("\n");
	for( var i = 0; i < valor.length; i++){
		valor[i] = valor[i].split(":");
	}
	datos_visitante[cual] = valor;
}
function meter_vdatosL( cual, valor, linea ){
	var valore0 = valor.split(":");
	if( datos_visitante[cual] == null ){
		meter_vdatos( cual, valor );
	}else{
		datos_visitante[cual][linea] = valore0;
	}
}
////////////////////////////////////////////////////////
// contenedor de entidades de medios
var entidad_medios = new Array();
function meter_mentidades( cual, valor ){
	entidad_medios[cual] = valor.split(":");
}
////////////////////////////////////////////////////////
// contenedor de datos de medios
var datos_medios = new Array();
function meter_mdatos( cual, valor ){
	valor = valor.split("\n");
	for( var i = 0; i < valor.length; i++){
		valor[i] = valor[i].split(":");
	}
	datos_medios[cual] = valor;
}
function meter_mdatosL( cual, valor, linea ){
	var valore0 = valor.split(":");
	if( datos_medios[cual] == null ){
		meter_mdatos( cual, valor );
	}else{
		datos_medios[cual][linea] = valore0;
	}
}
////////////////////////////////////////////////////////
// contenedor de entidades de mensajes
var entidad_mensajes = new Array();
function meter_nentidades( cual, valor ){
	entidad_mensajes[cual] = valor.split(":");
}
////////////////////////////////////////////////////////
// contenedor de datos de mensajes
var datos_mensajes = new Array();
function meter_ndatos( cual, valor ){
	valor = valor.split("\n");
	for( var i = 0; i < valor.length; i++){
		valor[i] = valor[i].split(":");
	}
	datos_mensajes[cual] = valor;
}
function meter_ndatosL( cual, valor, linea ){
	var valore0 = valor.split(":");
	if( datos_mensajes[cual] == null ){
		meter_ndatos( cual, valor );
	}else{
		datos_mensajes[cual][linea] = valore0;
	}
}
////////////////////////////////////////////////////////
// contenedor de datos de buzones
var datos_buzones = new Array();
function meter_bdatos( cual, valor ){
	valor = valor.split("\n");
	for( var i = 0; i < valor.length; i++){
		valor[i] = valor[i].split(":");
	}
	datos_buzones[cual] = valor;
}
function meter_bdatosL( cual, valor, linea ){
	var valore0 = valor.split(":");
	if( datos_buzones[cual] == null ){
		meter_bdatos( cual, valor );
	}else{
		datos_buzones[cual][linea] = valore0;
	}
}
////////////////////////////////////////////////////////
// contenedor de datos de contactos
var datos_contactos = new Array();
function meter_cdatos( cual, valor ){
	valor = valor.split("\n");
	for( var i = 0; i < valor.length; i++){
		valor[i] = valor[i].split(":");
	}
	datos_contactos[cual] = valor;
}
function meter_cdatosL( cual, valor, linea ){
	var valore0 = valor.split(":");
	if( datos_contactos[cual] == null ){
		meter_cdatos( cual, valor );
	}else{
		datos_contactos[cual][linea] = valore0;
	}
}
////////////////////////////////////////////////////////
// contenedor de datos de grupos
var datos_grupos = new Array();
function meter_gdatos( cual, valor ){
	valor = valor.split("\n");
	for( var i = 0; i < valor.length; i++){
		valor[i] = valor[i].split(":");
	}
	datos_grupos[cual] = valor;
}
function meter_gdatosL( cual, valor, linea ){
	var valore0 = valor.split(":");
	if( datos_grupos[cual] == null ){
		meter_gdatos( cual, valor );
	}else{
		datos_grupos[cual][linea] = valore0;
	}
}
////////////////////////////////////////////////////////
// contenedor de datos de diarios
var datos_diarios = new Array();
function meter_ddatos( cual, valor ){
	valor = valor.split("\n");
	for( var i = 0; i < valor.length; i++){
		valor[i] = valor[i].split(":");
	}
	datos_diarios[cual] = valor;
}
function meter_ddatosL( cual, valor, linea ){
	var valore0 = valor.split(":");
	if( datos_diarios[cual] == null ){
		meter_ddatos( cual, valor );
	}else{
		datos_diarios[cual][linea] = valore0;
	}
}
////////////////////////////////////////////////////////
// contenedor de datos de álbumes
var datos_albumes = new Array();
function meter_adatos( cual, valor ){
	valor = valor.split("\n");
	for( var i = 0; i < valor.length; i++){
		valor[i] = valor[i].split(":");
	}
	datos_albumes[cual] = valor;
}
function meter_adatosL( cual, valor, linea ){
	var valore0 = valor.split(":");
	if( datos_albumes[cual] == null ){
		meter_adatos( cual, valor );
	}else{
		datos_albumes[cual][linea] = valore0;
	}
}

var entidad_albumes = new Array();
function meter_aentidades( cual, valor ){
	valor = valor.split("\n");
	valor[0] = valor[0].split(":");
	entidad_albumes[cual] = valor;
}
////////////////////////////////////////////////////////
// contenedor de datos de plantillas
var datos_plantillas = new Array();
function meter_pdatos( cual, valor ){
	valor = valor.split("\n");
	datos_plantillas[cual] = valor;
}

var entidad_plantillas = new Array();
function meter_pentidades( cual, valor ){
	valor = valor.split("\n");
	valor[0] = valor[0].split(":");
	entidad_plantillas[cual] = valor;
}
////////////////////////////////////////////////////////
// contenedor de datos de tablones
var datos_tablones = new Array();
function meter_tdatos( cual, valor ){
	valor = valor.split("\n");
	for( var i = 0; i < valor.length; i++){
		valor[i] = valor[i].split(":");
	}
	datos_tablones[cual] = valor;
}
function meter_tdatosL( cual, valor, linea ){
	var valore0 = valor.split(":");
	if( datos_tablones[cual] == null ){
		meter_tdatos( cual, valor );
	}
	datos_tablones[cual][linea] = valore0;
}

var entidad_tablones = new Array();
function meter_tentidades( cual, valor ){
	valor = valor.split("\n");
	valor[0] = valor[0].split(":");
	entidad_tablones[cual] = valor;
}
////////////////////////////////////////////////////////
// contenedor de datos de filtros
var datos_filtros = new Array();
function meter_fdatos( cual, cualF, valor ){
	valor = valor.split("\n");
	datos_filtros[cual] = new Array();
	datos_filtros[cual][cualF] = valor;
}

function meter_fdatosL( cual, cualF, valor, linea ){
	var valore0 = valor.split(":");
	if(datos_filtros[cual] == null || datos_filtros[cual][cualF] == null ){
		meter_fdatos( cual, cualF, valor );
	}
	datos_filtros[cual][cualF][linea] = valore0;
}

function meter_fdatosNL( cual, cualF, valor, linea, colum ){
	if( datos_filtros[cual] == null || datos_filtros[cual][cualF][linea] == null ){
		meter_fdatosL( cual, cualF, valor, linea );
	}
	datos_filtros[cual][cualF][linea][colum] = valor;
}
////////////////////////////////////////////////////////
////////////////////////////////////////////////////////

////////////////////////////////////////////////////////
// el que procesa el resultado "&" de una consulta
// detector de que la aplicación está completamente cargada
function introduceValoresConsulta( valoresConsulta ){
	for( i=1; i < valoresConsulta.length; i++){
		atipo= valoresConsulta[i].split("#")[0].split("_"); tipo = atipo[0];
		nume = valoresConsulta[i].split("#")[1]; 			linea = ( atipo.length<2 )?"":atipo[1];
		valo = valoresConsulta[i].split("#")[2];			colum = ( atipo.length<3 )?"":atipo[2];
															tilic = ( atipo.length<4 )?"":atipo[3];
		switch( tipo ){
			case "UENTIDAD":
				meter_entidades( nume, valo );
				break;
			case "VENTIDAD":
				meter_ventidades( nume, valo );
				break;
			case "MENTIDAD":
				meter_mentidades( nume, valo );
				break;
			case "NENTIDAD":
				meter_nentidades( nume, valo );
				break;
			case "TENTIDAD":
				meter_tentidades( nume, valo );
				break;
			case "AENTIDAD":
				meter_aentidades( nume, valo );
				break;
			case "PENTIDAD":
				meter_pentidades( nume, valo );
				break;
		/////////////////////////////////////////
			case "UDATOS":
				if( linea == "" ){
					meter_datos( nume, valo );
				}else{
					meter_datosL( nume, valo, linea );
				}
				break;
			case "VDATOS":
				if( linea == "" ){
					meter_vdatos( nume, valo );
				}else{
					meter_vdatosL( nume, valo, linea );
				}
				break;
			case "TDATOS":
				if( linea == "" ){
					meter_tdatos( nume, valo );
				}else{
					meter_tdatosL( nume, valo, linea );
				}
				break;
			case "ADATOS":
				if( linea == "" ){
					meter_adatos( nume, valo );
				}else{
					meter_adatosL( nume, valo, linea );
				}
				break;
			case "GDATOS":
				if( linea == "" ){
					meter_gdatos( nume, valo );
				}else{
					meter_gdatosL( nume, valo, linea );
				}
				break;
			case "DDATOS":
				if( linea == "" ){
					meter_ddatos( nume, valo );
				}else{
					meter_ddatosL( nume, valo, linea );
				}
				break;
			case "CDATOS":
				if( linea == "" ){
					meter_cdatos( nume, valo );
				}else{
					meter_cdatosL( nume, valo, linea );
				}
				break;
			case "BDATOS":
				if( linea == "" ){
					meter_bdatos( nume, valo );
				}else{
					meter_bdatosL( nume, valo, linea );
				}
				break;
			case "NDATOS":
				if( linea == "" ){
					meter_ndatos( nume, valo );
				}else{
					meter_ndatosL( nume, valo, linea );
				}
				break;
			case "MDATOS":
				if( linea == "" ){
					meter_mdatos( nume, valo );
				}else{
					meter_mdatosL( nume, valo, linea );
				}
				break;
			case "PDATOS":
				if( linea == "" ){
					meter_pdatos( nume, valo );
				}else{
					meter_pdatosL( nume, valo, linea );
				}
				break;
			case "F":
				var cualF = linea; linea = colum; colum = tilic;
				if( cualF == "" ){
				}else if( linea == "" ){
					meter_fdatos( nume, cualF, valo );
				}else if( colum == "" ){
					meter_fdatosL( nume, cualF, valo, linea );
				}else{
					meter_fdatosNL( nume, cualF, valo, linea, colum );
				}
				break;
		}
	}
}
////////////////////////////////////////////////////////
// funciones de consulta: contactos
function contactosUsuarioTuentidad(){
	return contactosUsuario( tuentidad_IDusu );
}
function contactosUsuarioBloque1(){
	return contactosUsuario( idmuestraBloque1 );
}
function contactosUsuario( idusu ){
	if( entidad_usuario[ idusu ] != null && entidad_usuario[ idusu ].length > 0 ){
		var idcontactosidusu = entidad_usuario[ idusu ][4];
		if( datos_contactos[idcontactosidusu] != null ){
			return datos_contactos[idcontactosidusu];
		}
	}
	return new Array();
}
function idcontactoMedio( idmed ){
	if( entidad_medios[ idmed ] != null && entidad_medios[ idmed ].length > 0 ){
		return entidad_medios[ idmed ][6];
	}
	return "";
}
function contactosMedio( idmed ){
	var idcontactosidmed = idcontactoMedio( idmed );
	if( idcontactosidmed != "" ){
		if( datos_contactos[idcontactosidmed] != null ){
			return datos_contactos[idcontactosidmed];
		}
	}
	return new Array();
}
////////////////////////////////////////////////////////
function dameFufoMedio( idmed ){
	if( entidad_medios[ idmed ] != null && entidad_medios[ idmed ].length > 0 ){
		return entidad_medios[ idmed ][0];
	}
	return 0;
}
////////////////////////////////////////////////////////
function grupoGenteUsuarioTuentidad(){
	return grupoGenteUsuario( tuentidad_IDusu );
}
function grupoGenteUsuarioBloque1(){
	return grupoGenteUsuario( idmuestraBloque1 );
}
function grupoGenteUsuario( idusu ){
	var idGrupoGente = grupoidGenteUsuario( idusu )
	if( idGrupoGente != "" ){
		return datos_grupos[idGrupoGente];
	}
	return new Array();
}
////////////////////////////////////////////////////////
function grupoidGenteUsuarioTuentidad(){
	return grupoidGenteUsuario( tuentidad_IDusu );
}
function grupoidGenteUsuarioBloque1(){
	return grupoidGenteUsuario( idmuestraBloque1 );
}
function grupoidGenteUsuario( idusu ){
	var objetoContactosUsuario = contactosUsuario( idusu );
	if( objetoContactosUsuario.length > 0 ){
		return objetoContactosUsuario[2][1];
	}
	return "";
}
////////////////////////////////////////////////////////
function grupoPosesionesUsuarioTuentidad(){
	return grupoPosesionesUsuario( tuentidad_IDusu );
}
function grupoPosesionesUsuarioBloque1(){
	return grupoPosesionesUsuario( idmuestraBloque1 );
}
function grupoPosesionesUsuario( idusu ){
	var idGrupoGente = grupoidPosesionesUsuario( idusu )
	if( idGrupoGente != "" ){
		return datos_grupos[idGrupoGente];
	}
	return new Array();
}
////////////////////////////////////////////////////////
function grupoidPosesionesUsuarioTuentidad(){
	return grupoidPosesionesUsuario( tuentidad_IDusu );
}
function grupoidPosesionesUsuarioBloque1(){
	return grupoidPosesionesUsuario( idmuestraBloque1 );
}
function grupoidPosesionesUsuario( idusu ){
	var objetoContactosUsuario = contactosUsuario( idusu );
	if( objetoContactosUsuario.length > 0 ){
		return objetoContactosUsuario[3][1];
	}
	return "";
}
////////////////////////////////////////////////////////
function dame_diario_deUsuario( id ){
	return entidad_usuario[ id ][6];
}
////////////////////////////////////////////////////////
function dameNombreDeLUsuario(idusuario){
	if( datos_usuario[idusuario] != null ){
		if( datos_usuario[idusuario][1] != null ){
			return urlunescape(datos_usuario[idusuario][1][0], true);
		}
	}
	return "";
}
function dameNombreApellidosDeLUsuarioSi(idusuario){
	var nombre = dameNombreDeLUsuario(idusuario);
	if( nombre != "" ){
		return nombre + " " + dameApellidosDeLUsuario(idusuario);
	}
	return dameNombreDeLUsuarioSi(idusuario);
}
function dameNombreDeLUsuarioSi( idusuario ){
	var nombre = dameNombreDeLUsuario(idusuario);
	if( nombre == "" ){
		nombre = "Usuario #"+idusuario;
	}
	return nombre;
}
function dameApellidosDeLUsuario(idusuario){
	if( datos_usuario[idusuario] != null ){
		if( datos_usuario[idusuario][1] != null ){
			return urlunescape(datos_usuario[idusuario][1][1], true);
		}
	}
	return "";
}
function dameEstadoDeLUsuario(idusuario, que){
	if( datos_usuario[idusuario] == null ){
		return "";
	}
	if( datos_usuario[idusuario][2] == null ){
		return "";
	}
	return urlunescape(datos_usuario[idusuario][2][0], que);
}
function dameMailDeLUsuario(idusuario){
	if( datos_usuario[idusuario] == null ){
		return "";
	}else{
		return urlunescape(datos_usuario[idusuario][3][0], true);
	}
}
function dameHaceDeLUsuario(idusuario){
	if( datos_usuario[idusuario] == null ){
		return "";
	}else{
		return datos_usuario[idusuario][0][5];
	}
}
function dameVisorUsuario(idusuario){
	if( datos_usuario[idusuario] == null ){
		return "";
	}else{
		return datos_usuario[idusuario][0][6];
	}
}
////////////////////////////////////////////////////////
////////////////////////////////////////////////////////
function esContactoGenteDeEste( idcual ){
	return esContactoGenteDe(idcual, tuentidad_IDusu);
}
function esContactoGenteTuyo( idcual ){
	return esContactoGenteDe(tuentidad_IDusu, idcual);
}
function esContactoGenteDe( idusu, idcual ){
	var datosGrupoGentes = grupoGenteUsuario( idusu );
	if( idusu == idcual ){ return true; }
	for( var i=1; i < datosGrupoGentes.length; i++ ){
		if( datosGrupoGentes[i][1] == idcual ){
			return true;
		}
	}
	return false;
}
////////////////////////////////////////////////////////

function sacar_nombrealbum_bloque1( idalbum ){
	if( sacar_tipo_album(idalbum) == "0" ){
		// se trata de un álbum especial
		switch( sacar_nombre_album(idalbum) ){
			case "DV":
				txt = 'Donde vincula'
				break;
			case "DS":
				txt = 'Donde sale'
				break;
			case "MS":
				txt = 'Medios que subi&oacute;'
				break;
			default:
				txt = "&Aacute;lbum especial";
				borrable = false;			
		}
	}else{
		txt = urlunescape( sacar_nombre_album(idalbum) );
	}
	return txt;
}
function sacar_tipo_album( idalbum ){
	return datos_albumes[idalbum][0][0];
}
function sacar_nombre_album( idalbum ){
	return datos_albumes[idalbum][0][1];
}

function buscarComponenteAtributoTuyo( cual ){
	return buscarComponenteAtributo(tuentidad_IDusu, cual);
}
function buscarComponenteAtributo( quien, cual ){
	var atributos = datos_usuario[quien];
	for( var i = 0; i < atributos.length; i++ ){
		if( atributos[i][0] == cual ){
			return i;
		}
	}
	return "";
}

function dameValorFiltro( idfiltro, cual, fila ){
	if( datos_filtros[idfiltro] != null ){
		if( datos_filtros[idfiltro][cual] != null ){
			var prefijo = datos_filtros[idfiltro][cual][0][0];
			if( datos_filtros[idfiltro][cual][fila] != null ){
				return prefijo + datos_filtros[idfiltro][cual][fila][0] ;
			}else{
				return prefijo;
			}
		}
	}
	return "";
}
