var loginprimeravez = 1;
var passwordprimeravez = 1;
var nickprimeravez = 1;
// Las imágenes que precargaremos...
var imagenes = new Array("/imagenes/boton_over.gif", "/imagenes/ico_categoria_over.gif", "/imagenes/estado_entrar_over.gif", "/imagenes/boton_misala_dj_on.gif", "/imagenes/boton_misala_usuarios_on.gif", "/imagenes/boton_misala_fundadores_on.gif", "/imagenes/estado_codigo_over.gif", "/imagenes/loader.gif", "/imagenes/NoProhibido.png");

// Precarga de las imágenes. Para evitar problemas visuales en los HOVER.
function cargarimagenes()
{
    var i;
    var lista_imagenes = new Array();
    for(i=0; i<imagenes.length; i++){
        lista_imagenes[i] = new Image();
        lista_imagenes[i].src = imagenes[i];
    }
}

function enfocarInput (oObjeto)
{
    oObjeto.style.background = "#fff100";
}

function desenfocarInput (oObjeto)
{
    oObjeto.style.background = "#ffffff";
}

// Para borrar el texto cuando el usuario centra pone el foco en el input
function eliminarTexto(oObjeto, texto)
{
	if( oObjeto.value == texto ) oObjeto.value="";
}

// Para plegar/desplegar las tablas con los canales dentro de una categoria
function cambiar_estado (oObjeto) 
{
	if (oObjeto.style.display=="none"){
		new Effect.Parallel([ Effect.BlindDown(oObjeto) , new Effect.Appear(oObjeto) ] , {duration:1.5} );
	}else{
		new Effect.Parallel([ Effect.BlindUp(oObjeto) , new Effect.Fade(oObjeto) ] , {duration:1.5} );
	}
}

function resetear_botones(){
	document.getElementById("boton1").src="/imagenes/boton_misala_dj.gif";
	document.getElementById("boton2").src="/imagenes/boton_misala_usuarios.gif";
	document.getElementById("boton3").src="/imagenes/boton_misala_fundadores.gif";
}

function personalizacion(ruta_canal, id_boton, img_boton_pulsado){
	resetear_botones();
	document.getElementById("boton"+id_boton).src=img_boton_pulsado;
	document.getElementById("txt_codigo").value = "<script type=\"text/javascript\">\n"
+"<!--\n"
+"id_boton = "+id_boton+";\n"
+"nombre_canal = \""+ruta_canal+"\";\n"
+"// -->\n"
+"</script>\n"
+"<script type=\"text/javascript\" src=\"http://chat.ozu.es/javascript/chat_personalizado.js\">\n"
+"</script>";

}

// Abre la ventana de chat dada una localización del tipo /Categoria/#Canal
function abrir_chat(ruta)
{
	var widthw = 800;
	var heightw = 550;
	var estilo = "resizable=1,menubar=0,toolbar=0,location=0,personalbar=0"+
	                ",status=0,scrollbars=0,width="+widthw+",height="+heightw+",top="+
	                (screen.height-heightw)/2+",left="+(screen.width-widthw)/2;
	var v = open("http://chat.ozu.es/chat/azulframe.htm?skin=Azul&selnick=&selsala="+ruta,"chat",estilo);
}

function enviomailchat()
{
	var widthw = 470;
	var heightw = 410;
	var estilo = "resizable=0,menubar=0,toolbar=0,location=0,personalbar=0"+
	                ",status=0,scrollbars=1,width="+widthw+",height="+heightw+",top="+
	                (screen.height-heightw)/2+",left="+(screen.width-widthw)/2;
	msgWindow = window.open('http://ayuda.ozu.es/formulario.php?cat=Chat','enviomail',estilo);
}

function generar_bloque_registro()
{
	// Aparecerán los cuatro bloques al 25% de las veces
	
	var iAzar = Math.random();
	
	if(iAzar>=0.5)
	{
		// Registra tu nick
		document.write("<a href=\"http://vip.ozu.es/\"><img src=\"/imagenes/banner_nick.jpg\" alt=\"Registra tu nick\" height=\"165\" width=\"145\" /></a>");
  }else{
		// Registra tu sala
		document.write("<a href=\"http://vip.ozu.es/\"><img src=\"/imagenes/banner_sala.jpg\" alt=\"Registra tu sala\" height=\"165\" width=\"145\" /></a>");	    
	}
}

function botonVideosCanal(canal)
{	
		var cadena = new Array(); 
		cadena = canal.split("/");
		var nombreCategoria = cadena[1];
		var nombreCanal = cadena[2].substring(1,cadena[2].length);
		var URL = "http://chat.ozu.es/dalealplay/Default.aspx?categoria="+nombreCategoria+"&canal="+nombreCanal;
		popupVideos = window.open(URL, '', 'status=yes,resizable=no,scrollbars=no,width=635,height=400');		
}

/***********************************************
* Textarea Maxlength script- © Dynamic Drive (www.dynamicdrive.com)
* This notice must stay intact for legal use.
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/
function ismaxlength(obj, contador){
	var mlength=obj.getAttribute? parseInt(obj.getAttribute("maxlength")) : "";
	if (obj.getAttribute && obj.value.length>mlength)
	{
		var posicion = obj.scrollTop;
		obj.value=obj.value.substring(0,mlength);
		obj.scrollTop = posicion;
	}	
	contador.innerHTML = (mlength - obj.value.length);
	$('enviar_comentario').disabled = (obj.value.length == 0) ? true : false;
}

function fechaActual()
{
	var date = new Date();
	var d  = date.getDate();
	var day = (d < 10) ? '0' + d : d;
	var m = date.getMonth() + 1;
	var month = (m < 10) ? '0' + m : m;
	var yy = date.getYear();
	var year = (yy < 1000) ? yy + 1900 : yy;

	return day + "/" + month + "/" + year;
}

function mostrarLoader()
{
	$('cargando').style.display = "block";	
}

function ocultarLoader()
{
	$('cargando').style.display = "none";
}

function mostrarFormularioComentarios()
{
	$('formulario_comentarios').style.display = "block";
}

function ocultarFormularioComentarios()
{
	$('formulario_comentarios').style.display = "none";
}

function publicarComentario(pTexto, pId)
{
	ocultarFormularioComentarios();
	mostrarLoader();
	
	new Ajax.Request('/ajax_comentarios.php', {
	  method:'post',
	  parameters: {texto: pTexto, id: pId, operacion: 'publicar'},
	  requestHeaders: {Accept: 'application/json'},
	  onSuccess: function(transport){
		var json = transport.responseText.evalJSON(true);
		ocultarLoader();
		if(json.error.ha_ocurrido_error){
			mostrarFormularioComentarios();
			alert(json.error.mensaje);
		}else{			
			addComentario(json.respuesta_comentario.autor, json.respuesta_comentario.texto, json.respuesta_comentario.url_icono, json.respuesta_comentario.id, json.respuesta_comentario.puede_editar);
		}
	  },
	  onFailure: function(){
		ocultarLoader();
		alert('¡Ups! Ha ocurrido un error publicando tu comentario.\nInténtalo más tarde.');
	  }
	});
}

function addComentario(autor, texto, urlIcono, id, puedeEditar)
{
	var comentarios = $$('div.elemento.comentario');
	var izquierda = comentarios.length % 2;
	
	var comentario = document.createElement('div');
	var flotar = "izquierda";
	if(izquierda == 0) flotar = "derecha";
	comentario.id = "comentario_"+id;
	comentario.className ='elemento comentario flotar_'+flotar;
	comentario.appendChild(document.createTextNode(texto));
	
	globoHTML = '<div class="globo">';
	globoHTML += '<div class="esquina SI"></div>';
	globoHTML += '<div class="esquina SD"></div>';
	globoHTML += '<div class="esquina II"></div>';
	globoHTML += '<div class="esquina ID"></div>';
	globoHTML += '<div class="cuerno"></div>';
	globoHTML += '<div class="mensaje">';
	globoHTML += texto;
	globoHTML += '<span class="fecha"> '+fechaActual()+'</span>';
	if(puedeEditar){
		globoHTML += '<span class="papelera"><a href="javascript:void(0)" onclick="javascript:borrarComentario('+id+');" title="Eliminar comentario"><img src="/imagenes/trash.png" width="16" height="16" /></a></span>';	
	}	
	globoHTML += '</div>';
	globoHTML += '</div>';
	globoHTML += '<div class="autor">';
	if(puedeEditar){
		globoHTML += '<a href="javascript:void(0);" onclick="javascript:banearNick('+id+',\''+autor+'\');" style="background-image:url('+urlIcono+');">';
		globoHTML += '<img class="boton_banear" title="Banear usuario" width="20" height="20" src="/imagenes/NoProhibido.png" />';
		globoHTML += '</a>';
	}else{
		globoHTML += '<img class="icono" src="'+urlIcono+'" height="20" width="20"/>'
	}	
	globoHTML += '<strong>'+autor+'</strong>';
	globoHTML += '</div>';
	
	comentario.innerHTML = globoHTML;
	
	$('comentarios').appendChild(comentario);
}

function borrarComentario(pId)
{
	if(confirm("¿Estás seguro de querer borrar el comentario?")){
		new Ajax.Request('/ajax_comentarios.php', {
		  method:'post',
		  parameters: {id: pId, operacion: 'borrar'},
		  requestHeaders: {Accept: 'application/json'},
		  onSuccess: function(transport){
			var json = transport.responseText.evalJSON(true);	  		
			if(json.error.ha_ocurrido_error){
				alert(json.error.mensaje);
			}else{			
				removeComentario(json.respuesta_borrar_comentario.id);
			}
		  },
		  onFailure: function(){
			alert('¡Ups! Ha ocurrido un error intentando borrar el comentario.\nInténtalo más tarde.');
		  }
		});	
	}
}

function eliminarElemento(id_elemento){
	var item = $(id_elemento);
	item.parentNode.removeChild(item);
}

function removeComentario(id)
{
	var encontrado = false;

	$$('div.elemento.comentario').each(function(item) {
		if(item.id == "comentario_"+id){
			encontrado = true;
			Effect.DropOut(item.id);
			setTimeout("eliminarElemento('"+item.id+"')", 5000);
		}	
		if(encontrado)
		{
			if(item.hasClassName("flotar_derecha")){
				item.addClassName("flotar_izquierda");
				item.removeClassName("flotar_derecha");				
			}else{
				item.addClassName("flotar_derecha");
				item.removeClassName("flotar_izquierda");				
			}
		}
		});
}

function eliminarBaneado(nick, id_tablon){
	var baneados = new Array();
	var flotar_derecha = true;
	$$('div.elemento.comentario').each(function(item) {	
		if(item.select("strong")[0].innerHTML == nick){
			baneados.push(item);
		}else{
			if(flotar_derecha){
				if(item.hasClassName("flotar_izquierda")){
					item.addClassName("flotar_derecha");
					item.removeClassName("flotar_izquierda");					
				}
			}else{
				if(item.hasClassName("flotar_derecha")){
					item.addClassName("flotar_izquierda");
					item.removeClassName("flotar_derecha");				
				}
			}
			flotar_derecha = !flotar_derecha;
		}
	});
	
	var item;
	for(c = 0; c < baneados.length; c++){
		item = baneados[c];
		Effect.DropOut(item.id);
		setTimeout("eliminarElemento('"+item.id+"')", 5000);		
	}	
	
	// Si no hay caja, la mostramos y ocultamos el texto de que no hay usuarios baneados
	$('lista_baneados_vacia').style.display = 'none';
	if($('usuarios_baneados').style.display == 'none')
	{
		$('usuarios_baneados').style.display = 'block';
	}
	
	// Añadimos el nick a la caja de baneados
	var elementoEncontrado = null;
	var nickLower = nick.toLowerCase();
	$$('ul#usuarios_baneados li a').each(function(item){
		if(elementoEncontrado==null && nickLower<item.innerHTML.toLowerCase()){
			elementoEncontrado = item.parentNode; // Nos quedamos con el LI
		}
	});
	
	// Por extrañas razones, no puedo utilizar Element de Prototype
	var li = document.createElement("li");
	li.id = "desbanear_"+nick;
	li.innerHTML = '<a href="javascript:void(0);" onclick="desbanearNick(\''+id_tablon+'\',\''+nick+'\');">'+nick+'</a>';
	$('usuarios_baneados').insertBefore(li, elementoEncontrado);

}

function banearNick(pId, pNick)
{
	if(confirm("¿Estás seguro de querer banear de este tablón a '"+pNick+"'?\nRecuerda que se borrarán todos los comentarios que\nha publicado en todos los mensajes de este tablón.")){
		new Ajax.Request('/ajax_comentarios.php', {
		  method:'post',
		  parameters: {id: pId, nick: pNick, operacion: 'banear'},
		  requestHeaders: {Accept: 'application/json'},
		  onSuccess: function(transport){
			var json = transport.responseText.evalJSON(true);	  		
			if(json.error.ha_ocurrido_error){
				alert(json.error.mensaje);
			}else{			
				eliminarBaneado(json.respuesta_banear_usuario.nick, json.respuesta_banear_usuario.id);
			}
		  },
		  onFailure: function(){
			alert('¡Ups! Ha ocurrido un error baneando al usuario.\nInténtalo más tarde.');
		  }
		});	
	}
}

function eliminarNickListaBaneados(nick)
{
	eliminarElemento("desbanear_"+nick);
	if($('usuarios_baneados').childElements().size()<=0)
	{
		// Eliminamos la caja de baneados y mostramos el texto de que no hay usuarios baneados
		$('lista_baneados_vacia').style.display = 'block';
		$('usuarios_baneados').style.display = 'none';
	}
}

function desbanearNick(pId, pNick)
{
	if(confirm("¿Quieres que '"+pNick+"' pueda volver a publicar comentarios en este tablón?\nSiempre puedes volver a banearlo de nuevo.")){
		new Ajax.Request('/ajax_comentarios.php', {
		  method:'post',
		  parameters: {id: pId, nick: pNick, operacion: 'desbanear'},
		  requestHeaders: {Accept: 'application/json'},
		  onSuccess: function(transport){
			var json = transport.responseText.evalJSON(true);	  		
			if(json.error.ha_ocurrido_error){
				alert(json.error.mensaje);
			}else{			
				eliminarNickListaBaneados(json.respuesta_banear_usuario.nick);
			}
		  },
		  onFailure: function(){
			alert('¡Ups! Ha ocurrido un error desbaneando al usuario.\nInténtalo más tarde.');
		  }
		});	
	}
}
