// oculta una imagen
function oculta(tipo,id) {
	$(tipo + "_" + id).hide();
	$(tipo + "_" + id).hover( 
		function() {
			$(tipo + "_" + id).show();
		},
		function() {
			$(tipo + "_" + id).hide();
		}
	);
}

// Agregar a favoritos
function agregarfavoritos(){
	var url="http://mess.es/";
	var titulo="Avatares, emoticonos y fondos para messenger";
	if (navigator.appName=="Microsoft Internet Explorer") {
		window.external.AddFavorite(url,titulo);
	}
	else if(navigator.appName == "Netscape"){
		alert("Presiona [CRTL] + [D] para agregar este sitio en tus Favoritos."); 
	}
}

// comprueba formulario registro
function registro() {
	var nombre = document.getElementById('nombre').value;
	var email = document.getElementById('email').value;
	var clave = document.getElementById('clave').value;
	var clave2 = document.getElementById('clave2').value;

	if ((clave == "") || (email=="") || (clave=="") || (clave2=="")){	
		alert("Debes completar todos los campos obligatorios");
		return false;
	}
	else {				
		return true;
	}
}

// comprueba login
function accionlogin() {
	var email = document.getElementById('email').value;
	var clave = document.getElementById('clave').value;
	
	if ((clave == "") || (email=="")){
		alert("Debes introducir el usuario y la clave");
		return false;
	}
	else {	
		if (!esEmail(email)){
			alert("E-mail incorrecto");
			return false;
		}
		else {	
			return true;
		}
	}
}

// busqueda
function accionbuscador() {
	var query = document.getElementById('query').value;

	if (query == ""){	
		alert("Debes introducir un termino de busqueda");
		return false;
	}
	else {				
		return true;
	}
}

// actualiza orden de imagenes
function actualizarorden() {
	var filtro = document.getElementById('filtro').value;
	document.orden.submit();
}

// actualiza la pagina actual
function actualizapagina(pagina,query) {
	document.getElementById('pagina').value = pagina;
	document.orden.submit();
}

// actualiza ranking
function actualizarranking() {
	var top = document.getElementById('top').value;
	document.filtro.submit();
}

// ir a una pagina determinada
function irpagina(totalpaginas, paginaactual) {
	var ir = document.getElementById('ir').value;
	
	if ((ir > 0) && (totalpaginas >= ir)) {
		if (ir != paginaactual){
			document.getElementById('pagina').value = ir;
			document.orden.submit();
		}
		else {
			alert("pagina actual");
		}
	}
	else {
		alert("pagina incorrecta");
	}
}

// actualiza favorito
function actualizafavorito(imagen,url,boton) {
	
	var resultado = "ko";
	var oXmlHttp = zXmlHttp.createRequest();
	oXmlHttp.open("get","aj_favoritos.php?id_imagen="+imagen+"&url="+url,true);
	oXmlHttp.onreadystatechange = function () {
		if (oXmlHttp.readyState == 1) {
			 // en proceso
			 //$(boton).removeClass();
			 $(boton).addClass("proc");
			 $(boton).getElement('a').set({"title":"Procesando"});
			 $(boton).getElement('a').set({"href":"javascript:return false;"});
		}
		if (oXmlHttp.readyState == 4) {
			if (oXmlHttp.status == 200) {
				resultado = oXmlHttp.responseText;
				
				if (resultado == "ok") {
					$(boton).removeClass("proc");
					$(boton).addClass("on");
					$(boton).getElement('a').set({"title":"Eliminar de Mis Favoritos"});
					$(boton).getElement('a').set({"href":"javascript:borrarfavorito(" + imagen + ",'" + url + "','" + boton + "');"});
					//alert ("Se ha agregado la imagen a tus favoritos.");
				}
				else {
					if (resultado == "existe"){
						$(boton).removeClass("proc");
						$(boton).removeClass().addClass("on");
						$(boton).getElement('a').set({"title":"Guardar en Mis Favoritos"});
						$(boton).getElement('a').set({"href":"javascript:actualizafavorito(" + imagen + ",'" + url + "','" + boton + "');"});
						alert ("Ya existe la imagen en tus favoritos.");	
					}
					else if (resultado == "full") {
						$(boton).removeClass("proc");
						$(boton).getElement('a').set({"title":"Guardar en Mis Favoritos"});
						$(boton).getElement('a').set({"href":"javascript:actualizafavorito(" + imagen + ",'" + url + "','" + boton + "');"});
						alert ("No se puede agregar la imagen pues tienes tus favoritos llenos.");
					}
					else if (resultado == "ko") {
						$(boton).removeClass("proc");
						$(boton).getElement('a').set({"title":"Guardar en Mis Favoritos"});
						$(boton).getElement('a').set({"href":"javascript:actualizafavorito(" + imagen + ",'" + url + "','" + boton + "');"});
						alert ("Se ha produccido un error al agregar la imagen a tus favoritos.");
					}
				}
				
			} else {
				$(boton).removeClass("proc");
				$(boton).getElement('a').set({"title":"Guardar en Mis Favoritos"});
				$(boton).getElement('a').set({"href":"javascript:actualizafavorito(" + imagen + ",'" + url + "','" + boton + "');"});
				alert ("Se ha produccido un error al agregar la imagen a tus favoritos.");
			}
		}            
	};
	oXmlHttp.send(null);
}

// borrar favorito
function borrarfavorito(imagen,url,boton) {
	
	var resultado = "ko";
	var oXmlHttp = zXmlHttp.createRequest();
	oXmlHttp.open("get","aj_favoritos_b.php?id_imagen="+imagen+"&url="+url,true);
	oXmlHttp.onreadystatechange = function () {
		if (oXmlHttp.readyState == 1) {
			 // en proceso
			 $(boton).removeClass("on");
			 $(boton).addClass("proc");
			 $(boton).getElement('a').set({"title":"Procesando"});
			 $(boton).getElement('a').set({"href":"javascript:return false;"});
		}
		if (oXmlHttp.readyState == 4) {
			if (oXmlHttp.status == 200) {
				resultado = oXmlHttp.responseText;
				
				if (resultado == "ok") {
					$(boton).removeClass("proc");
					$(boton).getElement('a').set({"title":"Guardar en Mis Favoritos"});
					$(boton).getElement('a').set({"href":"javascript:actualizafavorito(" + imagen + ",'" + url + "','" + boton + "');"});
					//alert ("Se ha eliminado la imagen de tus favoritos.");
				}
				else if (resultado == "ko") {
					$(boton).removeClass("proc");
					$(boton).addClass("on");
					$(boton).getElement('a').set({"title":"Eliminar de Mis Favoritos"});
					$(boton).getElement('a').set({"href":"javascript:borrarfavorito(" + imagen + ",'" + url + "','" + boton + "');"});
					alert ("Se ha produccido un error al eliminar la imagen de tus favoritos.");
				}
				
			} else {
				$(boton).removeClass("proc");
				$(boton).addClass("on");
				$(boton).getElement('a').set({"title":"Eliminar de Mis Favoritos"});
				$(boton).getElement('a').set({"href":"javascript:borrarfavorito(" + imagen + ",'" + url + "','" + boton + "');"});
				alert ("Se ha produccido un error al eliminar la imagen de tus favoritos.");
			}
		}            
	};
	oXmlHttp.send(null);
}

// vota imagen
function voto(imagen,voto,usuario) {
	
	var resultado = "ko";
	var oXmlHttp = zXmlHttp.createRequest();
	oXmlHttp.open("get","aj_votacion.php?id_imagen="+imagen+"&voto="+voto+"&id_usuario="+usuario,true);
	oXmlHttp.onreadystatechange = function () {
		if (oXmlHttp.readyState == 1) {
			 // en proceso
			 if (voto == "P") {
			 	$("bt_voto_p_" + imagen).addClass("proceso");
			 }
			 if (voto == "N") {
			 	$("bt_voto_n_" + imagen).addClass("proceso");
			 }
			 $("bt_voto_p_" + imagen).getElement('a').set({"href":"javascript:return false;"});
			 $("bt_voto_n_" + imagen).getElement('a').set({"href":"javascript:return false;"});
			 $("bt_voto_p_" + imagen).getElement('a').getElement('img').set({"title":"Procesando"});
			 $("bt_voto_n_" + imagen).getElement('a').getElement('img').set({"title":"Procesando"});
		}
		if (oXmlHttp.readyState == 4) {
			if (oXmlHttp.status == 200) {
				resultado = oXmlHttp.responseText;
				
				if (resultado == "ok") {
					if (voto == "P") {
						$("bt_voto_p_" + imagen).removeClass("positivo");
						$("bt_voto_p_" + imagen).removeClass("proceso");
						$("bt_voto_p_" + imagen).addClass("positivofijo");
						$("bt_voto_n_" + imagen).removeClass("negativo");
						$("bt_voto_n_" + imagen).addClass("negativodes");
						cambio = (parseInt($("bt_voto_p_" + imagen).getElement('a').getElement('span').get('html')) + 1);
						$("bt_voto_p_" + imagen).getElement('a').getElement('span').set({'html':cambio});
						$("bt_voto_p_" + imagen).getElement('a').getElement('img').set({"title":"Has votado positivamente"});
						$("bt_voto_n_" + imagen).getElement('a').getElement('img').set({"title":"Has votado positivamente"});
					}
					if (voto == "N") {
						$("bt_voto_n_" + imagen).removeClass("negativo");
						$("bt_voto_n_" + imagen).removeClass("proceso");
						$("bt_voto_n_" + imagen).addClass("negativofijo");
						$("bt_voto_p_" + imagen).removeClass("positivo");
						$("bt_voto_p_" + imagen).addClass("positivodes");
						cambio = (parseInt($("bt_voto_n_" + imagen).getElement('a').getElement('span').get('html')) + 1);
						$("bt_voto_n_" + imagen).getElement('a').getElement('span').set({'html':cambio});
						$("bt_voto_p_" + imagen).getElement('a').getElement('img').set({"title":"Has votado negativamente"});
						$("bt_voto_n_" + imagen).getElement('a').getElement('img').set({"title":"Has votado negativamente"});
					}
					//alert ("Se ha registrado tu voto.");
				}
				else {
					if (resultado == "existe"){
						$("bt_voto_p_" + imagen).removeClass("proceso");
						$("bt_voto_p_" + imagen).addClass("positivo");
						$("bt_voto_n_" + imagen).removeClass("proceso");
						$("bt_voto_n_" + imagen).addClass("negativo");
						$("bt_voto_p_" + imagen).getElement('a').set({"href":"javascript:voto(" + imagen + ",'P');"});
						$("bt_voto_n_" + imagen).getElement('a').set({"href":"javascript:voto(" + imagen + ",'N');"});
						$("bt_voto_p_" + imagen).getElement('a').getElement('img').set({"title":"Votar que me gusta"});
						$("bt_voto_n_" + imagen).getElement('a').getElement('img').set({"title":"Votar que no me gusta"});
						alert ("Ya esta registrado tu voto.");	
					}
					else if (resultado == "ko") {
						$("bt_voto_p_" + imagen).removeClass("proceso");
						$("bt_voto_p_" + imagen).addClass("positivo");
						$("bt_voto_n_" + imagen).removeClass("proceso");
						$("bt_voto_n_" + imagen).addClass("negativo");
						$("bt_voto_p_" + imagen).getElement('a').set({"href":"javascript:voto(" + imagen + ",'P');"});
						$("bt_voto_n_" + imagen).getElement('a').set({"href":"javascript:voto(" + imagen + ",'N');"});
						$("bt_voto_p_" + imagen).getElement('a').getElement('img').set({"title":"Votar que me gusta"});
						$("bt_voto_n_" + imagen).getElement('a').getElement('img').set({"title":"Votar que no me gusta"});
						alert ("Se ha produccido un error durante el proceso de voto.");
					}
				}
				
			} else {
				$("bt_voto_p_" + imagen).removeClass("proceso");
				$("bt_voto_p_" + imagen).addClass("positivo");
				$("bt_voto_n_" + imagen).removeClass("proceso");
				$("bt_voto_n_" + imagen).addClass("negativo");
				$("bt_voto_p_" + imagen).getElement('a').set({"href":"javascript:voto(" + imagen + ",'P');"});
				$("bt_voto_n_" + imagen).getElement('a').set({"href":"javascript:voto(" + imagen + ",'N');"});
				$("bt_voto_p_" + imagen).getElement('a').getElement('img').set({"title":"Votar que me gusta"});
				$("bt_voto_n_" + imagen).getElement('a').getElement('img').set({"title":"Votar que no me gusta"});
				alert ("Se ha produccido un error durante el proceso de voto.");
			}
		}            
	};
	oXmlHttp.send(null);
}

// vota imagen
function voto_emo_list(imagen,voto,usuario) {
	
	var resultado = "ko";
	var oXmlHttp = zXmlHttp.createRequest();
	oXmlHttp.open("get","aj_votacion.php?id_imagen="+imagen+"&voto="+voto+"&id_usuario="+usuario,true);
	oXmlHttp.onreadystatechange = function () {
		if (oXmlHttp.readyState == 1) {
			 // en proceso
			 if (voto == "P") {
			 	$("bt_voto_p_" + imagen).addClass("proceso_emo");
			 }
			 if (voto == "N") {
			 	$("bt_voto_n_" + imagen).addClass("proceso_emo");
			 }
			 $("bt_voto_p_" + imagen).getElement('a').set({"href":"javascript:return false;"});
			 $("bt_voto_n_" + imagen).getElement('a').set({"href":"javascript:return false;"});
			 $("bt_voto_p_" + imagen).getElement('a').getElement('img').set({"title":"Procesando"});
			 $("bt_voto_n_" + imagen).getElement('a').getElement('img').set({"title":"Procesando"});
		}
		if (oXmlHttp.readyState == 4) {
			if (oXmlHttp.status == 200) {
				resultado = oXmlHttp.responseText;
				
				if (resultado == "ok") {
					if (voto == "P") {					
						$("bt_voto_p_" + imagen).removeClass("positivo_emo");
						$("bt_voto_p_" + imagen).removeClass("proceso_emo");
						$("bt_voto_p_" + imagen).addClass("positivofijo_emo");
						$("bt_voto_n_" + imagen).removeClass("negativo_emo");
						$("bt_voto_n_" + imagen).addClass("negativodes_emo");
						cambio = (parseInt($("bt_voto_p_" + imagen).getElement('a').getElement('span').get('html')) + 1);
						$("bt_voto_p_" + imagen).getElement('a').getElement('span').set({'html':cambio});
						$("bt_voto_p_" + imagen).getElement('a').getElement('img').set({"title":"Has votado positivamente"});
						$("bt_voto_n_" + imagen).getElement('a').getElement('img').set({"title":"Has votado positivamente"});
					}
					if (voto == "N") {
						$("bt_voto_n_" + imagen).removeClass("negativo_emo");
						$("bt_voto_n_" + imagen).removeClass("proceso_emo");
						$("bt_voto_n_" + imagen).addClass("negativofijo_emo");
						$("bt_voto_p_" + imagen).removeClass("positivo_emo");
						$("bt_voto_p_" + imagen).addClass("positivodes_emo");
						cambio = (parseInt($("bt_voto_n_" + imagen).getElement('a').getElement('span').get('html')) + 1);
						$("bt_voto_n_" + imagen).getElement('a').getElement('span').set({'html':cambio});
						$("bt_voto_p_" + imagen).getElement('a').getElement('img').set({"title":"Has votado negativamente"});
						$("bt_voto_n_" + imagen).getElement('a').getElement('img').set({"title":"Has votado negativamente"});
					}
					//alert ("Se ha registrado tu voto.");
				}
				else {
					if (resultado == "existe"){
						$("bt_voto_p_" + imagen).removeClass("proceso_emo");
						$("bt_voto_p_" + imagen).addClass("positivo_emo");
						$("bt_voto_n_" + imagen).removeClass("proceso_emo");
						$("bt_voto_n_" + imagen).addClass("negativo_emo");
						$("bt_voto_p_" + imagen).getElement('a').set({"href":"javascript:voto(" + imagen + ",'P');"});
						$("bt_voto_n_" + imagen).getElement('a').set({"href":"javascript:voto(" + imagen + ",'N');"});
						$("bt_voto_p_" + imagen).getElement('a').getElement('img').set({"title":"Votar que me gusta"});
						$("bt_voto_n_" + imagen).getElement('a').getElement('img').set({"title":"Votar que no me gusta"});
						alert ("Ya esta registrado tu voto.");	
					}
					else if (resultado == "ko") {
						$("bt_voto_p_" + imagen).removeClass("proceso_emo");
						$("bt_voto_p_" + imagen).addClass("positivo_emo");
						$("bt_voto_n_" + imagen).removeClass("proceso_emo");
						$("bt_voto_n_" + imagen).addClass("negativo_emo");
						$("bt_voto_p_" + imagen).getElement('a').set({"href":"javascript:voto(" + imagen + ",'P');"});
						$("bt_voto_n_" + imagen).getElement('a').set({"href":"javascript:voto(" + imagen + ",'N');"});
						$("bt_voto_p_" + imagen).getElement('a').getElement('img').set({"title":"Votar que me gusta"});
						$("bt_voto_n_" + imagen).getElement('a').getElement('img').set({"title":"Votar que no me gusta"});
						alert ("Se ha produccido un error durante el proceso de voto.");
					}
				}
				
			} else {
				$("bt_voto_p_" + imagen).removeClass("proceso_emo");
				$("bt_voto_p_" + imagen).addClass("positivo_emo");
				$("bt_voto_n_" + imagen).removeClass("proceso_emo");
				$("bt_voto_n_" + imagen).addClass("negativo_emo");
				$("bt_voto_p_" + imagen).getElement('a').set({"href":"javascript:voto(" + imagen + ",'P');"});
				$("bt_voto_n_" + imagen).getElement('a').set({"href":"javascript:voto(" + imagen + ",'N');"});
				$("bt_voto_p_" + imagen).getElement('a').getElement('img').set({"title":"Votar que me gusta"});
				$("bt_voto_n_" + imagen).getElement('a').getElement('img').set({"title":"Votar que no me gusta"});
				alert ("Se ha produccido un error durante el proceso de voto.");
			}
		}            
	};
	oXmlHttp.send(null);
}

//comprueba si es email
function esEmail(s){
    var i = 1;
    var sLength = s.length;
    while ((i < sLength) && (s.charAt(i) != "@")){
		i++
    }

    if ((i >= sLength) || (s.charAt(i) != "@")) 
		return false;
    else 
		i += 2;

    while ((i < sLength) && (s.charAt(i) != ".")){ 
		i++
    }

    if ((i >= sLength - 1) || (s.charAt(i) != ".")) 
		return false;
    else 
		return true;
}

//comprueba la fecha es correcta
function esFecha(fecha) {
	
	var dia = fecha.substr(0,2);
	var mes = fecha.substr(3,2);
	var anyo = fecha.substr(6,4);
	
	if (mes < 1 || mes > 12) {
		return false;
	}
	
	if (dia < 1 || dia > 31) {
		return false;
	}
	
	if ((mes==4 || mes==6 || mes==9 || mes==11) && dia==31) {
		return false;
	}
	
	if (mes == 2) {
		var isleap = (anyo % 4 == 0 && (anyo % 100 != 0 || anyo % 400 == 0));
		if (dia > 29 || (dia==29 && !isleap)) {
			return false;
		}
	}

	return true;
}

//comprueba si es un digito
function esDigito(c){ 
	return ((c >= "0") && (c <= "9"));
}

//comprueba si son todos numeros
function esNumero(s){   
	var i;
    
    for (i = 0; i < s.length; i++)
    {   
        var c = s.charAt(i);
		if (!esDigito(c)) return false;
    }
    return true;
}