/****************************/
/** FUNCIONES PARA EL MENÚ **/
function hover(id){
	if(document.getElementById('menu_'+id).className!="desplegado") document.getElementById('menu_'+id).className="encima";
}
function deshover(id){
	if(document.getElementById('menu_'+id).className!="desplegado") document.getElementById('menu_'+id).className="normal";
}
function subhover(id){
	document.getElementById('submenu_'+id).className="subencima";
}
function subdeshover(id){
	document.getElementById('submenu_'+id).className="subnormal";
}
function cargarContenido(){
	document.getElementById("contenido").innerHTML=this.req.responseText;
}

/** FIN FUNCIONES MENÚ **/
/************************/

function confirmar_link(mensaje) {
	var x = window.confirm(mensaje);
	if (!x) return false;
	else return true;
}









function validarFormEditarUsuario(form){
	if(form.nick.value.length==0){
		alert("Debes ponerte un nick");
		form.nick.focus();
		return 0;
	}
	if(form.nickDisponible.value=="n"){
		alert("Este nick ya está ocupado");
		form.nick.focus();
		return 0;
	}
	if(form.username.value.length==0){
		alert("Debes poner tu nombre");
		form.username.focus();
		return 0;
	}
	if(!isEmail(form.email.value)){
		alert("Debes poner una direccion de email valida");
		form.email.focus();
		return 0;
	}
	form.submit();
}

function validarContactar(form){
	if(form.nombre.value.length==0){
		alert("Debes poner tu nombre");
		form.nombre.focus();
		return 0;
	}
	if(!isEmail(form.email.value)){
		alert("Debes poner una direccion de email valida");
		form.email.focus();
		return 0;
	}
	if(form.mensaje.value.length==0){
		alert("Debes poner algo en el mensaje");
		form.mensaje.focus();
		return 0;
	}
	form.submit();
}


/**************************************************************************************************/
/**************************************************************************************************/
/**************************************************************************************************/
/********************************** POR REVISAR **************************************************/
/**************************************************************************************************/
/**************************************************************************************************/

/*********************************/
/** VALIDACIONES DE FORMULARIOS **/
function isEmail(mail){//Tambier checkear que el email no esté utilizado ya...
	var s=mail;
	var filter=/^[A-Za-z][A-Za-z0-9_]*@[A-Za-z0-9_]+\.[A-Za-z0-9_.]+[A-za-z]$/;
	if (s.length == 0 ) return true;
	if (filter.test(s))	return true;
	return false;
}
function nickDisponible(){
	if(this.req.responseText=="y"){
		document.getElementById("checkNick").style.color="green";
		document.getElementById("checkNick").innerHTML="Nick Disponible";
		document.getElementById("nickDisponible").value="y";
	}else{
		document.getElementById("checkNick").style.color="red";
		document.getElementById("checkNick").innerHTML="Nick no disponible";
		document.getElementById("nickDisponible").value="n";
	}
}
function checkNick(nick){
	if(nick!=""){
		document.getElementById("checkNick").innerHTML="Comprobando disponibilidad";
		new peticion_http.crear("modulos/login/checkNick.php",nickDisponible,null,"post",
			"nick="+nick,"application/x-www-form-urlencoded");
	}
}
function validarFormEditarContrasena(form){
	if(form.passViejo.value.length==0){
		alert("Debes poner tu actual contraseña");
		form.passViejo.focus();
		return 0;
	}
	if(form.pass.value.length==0){
		alert("Debes poner la nueva contraseña");
		form.pass.focus();
		return 0;
	}
	if(form.pass2.value.length==0){
		alert("Debes validar la nueva contraseña");
		form.pass2.focus();
		return 0;
	}
	if(form.pass.value!=form.pass2.value){
		alert("Debes escribir la misma contraseña en los dos campos");
		form.pass.focus();
		return 0;
	}
	new peticion_http.crear("modulos/panel/commit_nuevaContrasena.php",resultadoVentanaFlotante,null,"post",
		"passViejo="+form.passViejo.value+"&pass="+form.pass.value+"&id="+form.id.value
		,"application/x-www-form-urlencoded");
}
function validarFormNuevoUsuario(form){
	if(form.nick.value.length==0){
		alert("Debes ponerte un nick");
		form.nick.focus();
		return 0;
	}
	if(form.nickDisponible.value=="n"){
		alert("Este nick ya está ocupado");
		form.nick.focus();
		return 0;
	}
	if(form.pass.value.length==0){
		alert("Debes poner contraseña");
		form.pass.focus();
		return 0;
	}
	if(form.pass2.value.length==0){
		alert("Debes validar la contraseña");
		form.pass2.focus();
		return 0;
	}
	if(form.pass.value!=form.pass2.value){
		alert("Debes escribir la misma contraseña en los dos campos");
		form.pass.focus();
		return 0;
	}
	if(form.username.value.length==0){
		alert("Debes poner tu nombre");
		form.username.focus();
		return 0;
	}
	if(!isEmail(form.email.value)){
		alert("Debes poner una direccion de email valida");
		form.email.focus();
		return 0;
	}
	if(form.theme.selectedIndex<1){
		alert("Debes seleccionar un tema");
		return 0;
	}
	new peticion_http.crear("modulos/panel/commit_nuevoUsuario.php",resultadoVentanaFlotante,null,"post",
		"nick="+form.nick.value+"&pass="+form.pass.value+"&username="+form.username.value+"&email="+form.email.value+"&theme="+form.theme.value+"&avatar="+form.idAvatar.value+"&id="+form.id.value
		,"application/x-www-form-urlencoded");
}
function validarFormNuevoAvatar(form){
	if(form.name.value.length==0){
		alert("Debes poner un nombre al avatar");
		form.name.focus();
		return 0;
	}
	if(form.filename.value.length==0&&form.id.value==-1){//Solo si es nueva descarga
		alert("Debes seleccionar una imagen para el avatar");
		form.filename.focus();
		return 0;
	}
	new peticion_http.crear("modulos/panel/commit_nuevoAvatar.php",resultadoVentanaFlotante,null,"post",
		"filename="+form.filename.value+"&name="+form.name.value+"&id="+form.id.value
		,"application/x-www-form-urlencoded");
}
function validarFormNuevoAnuncio(form){
	if(form.filename.value.length==0&&form.id.value==-1){//Solo si es nueva descarga
		alert("Debes seleccionar una imagen para el anuncio");
		form.filename.focus();
		return 0;
	}
	if(form.name.value.length==0){
		alert("Debes poner un nombre al anuncio");
		form.name.focus();
		return 0;
	}
	if(form.descr.value.length==0){
		alert("Debes poner una descripcion al anuncio");
		form.descr.focus();
		return 0;
	}
	if(form.title.value.length==0){
		alert("Debes poner un titulo al anuncio");
		form.title.focus();
		return 0;
	}
	if(form.url.value.length==0){//VALIDAR!!
		alert("Debes poner una direccion válida al anuncio");
		form.url.focus();
		return 0;
	}
	new peticion_http.crear("modulos/panel/commit_nuevoAnuncio.php",resultadoVentanaFlotante,null,"post",
		"filename="+form.filename.value+"&name="+form.name.value+"&descr="+form.descr.value+"&title="+form.title.value+"&url="+form.url.value+"&id="+form.id.value
		,"application/x-www-form-urlencoded");
}
function validarFormNuevaEncuesta(form){
	if(form.question.value.length==0){
		alert("Debes poner una pregunta");
		form.question.focus();
		return 0;
	}
	if(form.option1.value.length==0){
		alert("Debes rellenar un mínimo de dos opciones");
		form.option1.focus();
		return 0;
	}
	if(form.option2.value.length==0){
		alert("Debes rellenar un mínimo de dos opciones");
		form.option2.focus();
		return 0;
	}
	var opciones="";
	var idopciones="";
	for(var i=1;i<=form.nopciones.value;i++){
		var opt=document.getElementById("option"+i);
		var idopt=document.getElementById("idoption"+i);
		if(opt.value!="") opciones+="&option"+i+"="+opt.value+"&idoption"+i+"="+idopt.value;
		else form.nopciones.value--;
	}
	new peticion_http.crear("modulos/panel/commit_nuevaEncuesta.php",resultadoVentanaFlotante,null,"post",
		"question="+form.question.value+opciones+"&id="+form.id.value,
		"application/x-www-form-urlencoded");
}
function validarFormNuevoEvento(form){
	//No validamos el dia ya que automaticamente se selecciona un dia
	if(form.descr.value.length==0){
		alert("Debes poner una descripción");
		form.descr.focus();
		return 0;
	}
	if(form.text.value.length==0){
		alert("Debes poner un texto corto");
		form.text.focus();
		return 0;
	}
	if(form.dia.value==""||form.mes.value==""||form.anyo.value==""){
		alert("Error al seleccionar un dia");
		return 0;
	}
	new peticion_http.crear("modulos/panel/commit_nuevoEvento.php",resultadoVentanaFlotante,null,"post",
		"id="+form.id.value+"&dia="+form.dia.value+"&mes="+form.mes.value+"&anyo="+form.anyo.value+"&text="+form.text.value+"&descr="+form.descr.value,
		"application/x-www-form-urlencoded");
}
function validarFormNuevaGaleria(form){
	if(form.name.value.length==0){
		alert("Debes poner un nombre a la galeria");
		form.name.focus();
		return 0;
	}
	if(form.descr.value.length==0){
		alert("Debes poner una descripción a la galeria");
		form.descr.focus();
		return 0;
	}
	new peticion_http.crear("modulos/panel/commit_nuevaGaleria.php",resultadoVentanaFlotante,null,"post",
		"descr="+form.descr.value+"&name="+form.name.value+"&id="+form.id.value
		,"application/x-www-form-urlencoded");
}
function validarFormNuevaFoto(form){
	if(form.filename.value.length==0&&form.id.value==-1){//Solo si es nueva descarga
		alert("Debes seleccionar una imagen");
		form.filename.focus();
		return 0;
	}
	if(form.title.value.length==0){
		alert("Debes poner un titulo a la foto");
		form.title.focus();
		return 0;
	}
	if(form.galerias.value==""){
		alert("Error al cargar la galeria");
		form.galerias.focus();
		return 0;
	}
	new peticion_http.crear("modulos/panel/commit_nuevaFoto.php",resultadoVentanaFlotante,null,"post",
		"title="+form.title.value+"&galerias="+form.galerias.value+"&filename="+form.filename.value+"&dia=1&mes=1&anyo=2008&id="+form.id.value,
		"application/x-www-form-urlencoded");
}

function validarFormNuevaCatNoticias(form){
	if(form.name.value.length==0){
		alert("Debes poner un nombre a la categoria");
		form.name.focus();
		return 0;
	}
	if(form.descr.value.length==0){
		alert("Debes poner una descripción a la categoria");
		form.descr.focus();
		return 0;
	}
	if(form.filename.value.length==0&&form.id.value==-1){//Solo si es nueva descarga
		alert("Debes seleccionar una imagen para la categoria");
		form.filename.focus();
		return 0;
	}
	new peticion_http.crear("modulos/panel/commit_nuevaCatNoticias.php",resultadoVentanaFlotante,null,"post",
		"name="+form.name.value+"&descr="+form.descr.value+"&filename="+form.filename.value+"&id="+form.id.value,
		"application/x-www-form-urlencoded");
}
function validarFormNuevoForo(form){
	if(form.title.value.length==0){
		alert("Debes poner un nombre al foro");
		form.title.focus();
		return 0;
	}
	if(form.descr.value.length==0){
		alert("Debes poner una descripción al foro");
		form.descr.focus();
		return 0;
	}
	new peticion_http.crear("modulos/panel/commit_nuevoForo.php",resultadoVentanaFlotante,null,"post",
		"descr="+form.descr.value+"&title="+form.title.value+"&id="+form.id.value
		,"application/x-www-form-urlencoded");
}
function validarFormNuevaCatDescargas(form){
	if(form.name.value.length==0){
		alert("Debes poner un nombre a la categoria");
		form.name.focus();
		return 0;
	}
	if(form.descr.value.length==0){
		alert("Debes poner una descripción a la categoria");
		form.descr.focus();
		return 0;
	}
	new peticion_http.crear("modulos/panel/commit_nuevaCatDescargas.php",resultadoVentanaFlotante,null,"post",
		"name="+form.name.value+"&descr="+form.descr.value+"&id="+form.id.value,
		"application/x-www-form-urlencoded");
}
function validarFormNuevaDescarga(form){
	if(form.name.value.length==0){
		alert("Debes poner un nombre a la descarga");
		form.name.focus();
		return 0;
	}
	if(form.descr.value.length==0){
		alert("Debes poner una descripción a la descarga");
		form.descr.focus();
		return 0;
	}
	if(form.filename.value.length==0&&form.id.value==-1){//Solo si es nueva descarga
		alert("Debes seleccionar un archivo");
		form.filename.focus();
		return 0;
	}
	if(form.idCat.value==""){
		alert("Error al cargar la categoria");
		form.idCat.focus();
		return 0;
	}
	new peticion_http.crear("modulos/panel/commit_nuevaDescarga.php",resultadoVentanaFlotante,null,"post",
		"name="+form.name.value+"&descr="+form.descr.value+"&filename="+form.filename.value+"&id="+form.id.value+"&idCat="+form.idCat.value,
		"application/x-www-form-urlencoded");
}
function validarAnunciarse(form){
	if(form.nombre.value.length==0){
		alert("Debes poner tu nombre");
		form.nombre.focus();
		return 0;
	}
	if(!isEmail(form.email.value)){
		alert("Debes poner una direccion de email valida");
		form.email.focus();
		return 0;
	}
	if(form.logo.value.length==0){
		alert("Debes poner un logo");
		form.logo.focus();
		return 0;
	}
	if(form.slogan.value.length==0){
		alert("Debes poner un slogan");
		form.slogan.focus();
		return 0;
	}
	if(form.mensaje.value.length==0){
		alert("Debes poner algo en el mensaje");
		form.mensaje.focus();
		return 0;
	}
	form.submit();
}
/** FIN VALIDACIONES DE FORMULARIOS **/
/*************************************/

/*********************************/
/** FUNCIONES DE ADMINISTRACION **/
function cambiarEstado(bd,id){//Cambia el estado de un elemento BD con id ID
	new peticion_http.crear("modulos/panel/adminAcciones.php",location.reload(),null,"post","bd="+bd+"&id="+id,"application/x-www-form-urlencoded");
}
/** FIN FUNCIONES DE ADMINISTRACION **/
/*************************************/


/*******************************/
/** FUNCIONES DE ENCUESTAS**/
function resultadoVotacion(){
	var resultado=this.req.responseText;
	resultado = resultado.replace(/\+/g, " "); // Substituimos por un espacio.
	resultado = unescape(resultado); // Deshacer lo que hizo la función urlencode();. 
	document.getElementById("resultadoEncuesta").innerHTML=resultado;
}
function resultadosSinVotar(idPoll){
	//Escondemos las opciones mientras AJAX actualiza resultados
	document.getElementById("opcionesEncuesta").style.display="none";
	document.getElementById("resultadoEncuesta").innerHTML="Cargando resultados...";
	//Ejecutamos AJAX
	new peticion_http.crear("modulos/encuestas/votar.php",resultadoVotacion,null,"post","idEncuesta="+idPoll,"application/x-www-form-urlencoded");
}
function votar(idPoll){
	var opciones=document.form_encuesta.opcion;
	var idOpcionElegida=-1;
	for(var i=0;i<opciones.length;i++){
		if(opciones[i].checked) idOpcionElegida=opciones[i].value;
	}
	if(idOpcionElegida!=-1){
		//Escondemos las opciones mientras AJAX actualiza resultados
		document.getElementById("opcionesEncuesta").style.display="none";
		document.getElementById("resultadoEncuesta").innerHTML="Cargando resultados...";
		//Ejecutamos AJAX para votar
		new peticion_http.crear("modulos/encuestas/votar.php",resultadoVotacion,null,"post","idOpcion="+idOpcionElegida,"application/x-www-form-urlencoded");		
	}else{
		alert("Es necesario seleccionar una opción para votar");
	}
}
function masOptions(){
	var nopciones=++document.getElementById("nopciones").value;
	if(nopciones>6) alert("Demasiadas opciones!");
	else{
		var tabla=document.getElementById("jopciones");
		var row = document.createElement("tr")
	    var td = document.createElement("td")
		var input=document.createElement("input");
		input.setAttribute("type","text");
		input.setAttribute("name","option"+nopciones);
		input.setAttribute("id","option"+nopciones);
		var hidden=document.createElement("input");
		hidden.setAttribute("type","hidden");
		hidden.setAttribute("name","idoption"+nopciones);
		hidden.setAttribute("id","idoption"+nopciones);
		hidden.setAttribute("value","0");
		td.appendChild(hidden);
		td.appendChild(input);
	    row.appendChild(td);
		tabla.firstChild.appendChild(row);
	}
}
function cargarPagEncuestas(){
	var resultado=this.req.responseText;
	resultado = resultado.replace(/\+/g, " "); // Substituimos por un espacio.
	resultado = unescape(resultado); // Deshacer lo que hizo la función urlencode();. 
	document.getElementById("contenido").innerHTML=resultado;
}
function cambiarPagEncuestas(pag){
	new peticion_http.crear("modulos/encuestas/encuestas.php",cargarPagEncuestas,null,"post","pag="+pag,"application/x-www-form-urlencoded");
}
/** FIN FUNCIONES ENCUESTAS **/
/*****************************/

/**********************/
/** VENTANA FLOTANTE **/
function eliminarElemento(tabla,id){
	cargarVentanaFlotante("modulos/panel/delete.php","tabla="+tabla+"&id="+id);
}
function resultadoVentanaFlotante(){
	if(document.getElementById("floatWindow0")!=null) var i=0;
	else var i=1;
	var form=document.getElementById("floatWindow"+i);
	form.innerHTML='<span id="cerrarVentana" onclick="cerrarVentanaFlotante('+i+')"><img src="temas/default/imagenes/cerrar.gif" alt="Cerrar" title="Cerrar" /></span>';
	form.innerHTML+=this.req.responseText;
}
function cerrarVentanaFlotante(i){
	var capa=document.getElementById("capa"+i);
	capa.parentNode.removeChild(capa);
	var form=document.getElementById("floatWindow"+i);
	form.parentNode.removeChild(form);
}
function verVentanaFlotante(){
	if(document.getElementById("floatWindow0")!=null) var i=1;
	else var i=0;
	var form=document.createElement("div");
	form.setAttribute("id","floatWindow"+i);
	form.className="floatWindow";
	form.innerHTML='<span id="cerrarVentana" onclick="cerrarVentanaFlotante('+i+')"><img src="temas/default/imagenes/cerrar.gif" alt="Cerrar" title="Cerrar" /></span>';
	form.innerHTML+=this.req.responseText;
	document.body.appendChild(form);
}
function cargarVentanaFlotante(formulario,params){
	if(document.getElementById("capa0")!=null) var i=1;
	else var i=0;
	var capa=document.createElement("div");
	capa.setAttribute("id","capa"+i);
	capa.className="capa";
	document.body.appendChild(capa);
	new peticion_http.crear(formulario,verVentanaFlotante,null,"post",params,"application/x-www-form-urlencoded");
}
function cerrarListaAvatares(){
	var lista=document.getElementById("avatares");
	lista.parentNode.removeChild(lista);
	var capa=document.getElementById("capa");
	capa.parentNode.removeChild(capa);
}
function elegirAvatar(idAvatar,url){
	document.getElementById("avatar").setAttribute("src",url);
	document.getElementById("idAvatar").setAttribute("value",idAvatar);
	cerrarListaAvatares();
}
function mostrarListaAvatares(){
	var lista=document.createElement("div");
	lista.setAttribute("id","avatares");
	lista.innerHTML=this.req.responseText;
	document.body.appendChild(lista);
}
function cargarListaAvatares(){
	var capa=document.createElement("div");
	capa.setAttribute("id","capa");
	document.body.appendChild(capa);
	new peticion_http.crear("modulos/login/frm_listaAvatares.php",mostrarListaAvatares,null,"post","","application/x-www-form-urlencoded");
}

/** FIN VENTANA FLOTANTE **/
/**************************/

/****************************/
/** FUNCION PARA TEXTAREAS **/
function contarLetras(txarea,total,escrito,faltan){
	//txarea es el textarea donde se contaran las letras
	//total es el maximo de letras posibles
	//escrito es donde se pondra el contador de lo escrito
	//faltan es donde se pondra el contador de lo que falta
    tam = txarea.value.length;
    str="";
    str=str+tam;
    escrito.innerHTML = str;
    faltan.innerHTML = total - str;

    if (tam > total){
        aux = txarea.value;
        txarea.value = aux.substring(0,total);
        escrito.innerHTML = total
        faltan.innerHTML = 0
    }
}