// JavaScript Document

function MM_CheckFlashVersion(reqVerStr,msg){
  with(navigator){
    var isIE  = (appVersion.indexOf("MSIE") != -1 && userAgent.indexOf("Opera") == -1);
    var isWin = (appVersion.toLowerCase().indexOf("win") != -1);
    if (!isIE || !isWin){
      var flashVer = -1;
      if (plugins && plugins.length > 0){
        var desc = plugins["Shockwave Flash"] ? plugins["Shockwave Flash"].description : "";
        desc = plugins["Shockwave Flash 2.0"] ? plugins["Shockwave Flash 2.0"].description : desc;
        if (desc == "") flashVer = -1;
        else{
          var descArr = desc.split(" ");
          var tempArrMajor = descArr[2].split(".");
          var verMajor = tempArrMajor[0];
          var tempArrMinor = (descArr[3] != "") ? descArr[3].split("r") : descArr[4].split("r");
          var verMinor = (tempArrMinor[1] > 0) ? tempArrMinor[1] : 0;
          flashVer =  parseFloat(verMajor + "." + verMinor);
        }
      }
      // WebTV has Flash Player 4 or lower -- too low for video
      else if (userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 4.0;

      var verArr = reqVerStr.split(",");
      var reqVer = parseFloat(verArr[0] + "." + verArr[2]);

      if (flashVer < reqVer){
        if (confirm(msg))
          window.location = "http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash";
      }
    }
  }
}

function pintar(posicion)
{
	for(i=1;i<posicion+1;i++)
	{
		elemento = $('avion_'+i);
		if(!elemento.hasClassName('avion_blanco'))
		{
			set_avion_blanco(elemento);
		}
	}
	for(i=posicion+1;i<6;i++)
	{
		elemento = $('avion_'+i);
		if(!elemento.hasClassName('avion_gris'))
		{
			set_avion_gris(elemento);
		}
	}
}

function set_avion_gris(elemento)
{
	elemento.removeClassName('avion_blanco');
	elemento.removeClassName('avion_mitad');
	elemento.addClassName('avion_gris');
}

function set_avion_blanco(elemento)
{
	elemento.removeClassName('avion_gris');
	elemento.removeClassName('avion_mitad');
	elemento.addClassName('avion_blanco');
}

function set_avion_mitad(elemento)
{
	elemento.removeClassName('avion_gris');
	elemento.removeClassName('avion_blanco');
	elemento.addClassName('avion_mitad');
}

function resetear_aviones(puntaje)
{
	if(puntaje == 0)
	{
		for(i=1;i<6;i++)
		{
			elemento = $('avion_'+i);
			if(!elemento.hasClassName('avion_gris'))
			{
				set_avion_gris(elemento);
			}
		}
		return;
	}
	entero = Math.floor(puntaje);
	decimal = puntaje - entero;
	for(i=1;i<entero+1;i++)
	{
		elemento = $('avion_'+i);
		if(!elemento.hasClassName('avion_blanco'))
		{
			set_avion_blanco(elemento);
		}
	}
	if(entero != '5')
	{
		if(entero == '4')
		{
			if(decimal < 0.5)
			{
				elemento = $('avion_5');
				if(!elemento.hasClassName('avion_gris'))
				{
					set_avion_gris(elemento);
				}
			}
			else if(decimal < 0.7)
			{
				elemento = $('avion_5');
				if(!elemento.hasClassName('avion_mitad'))
				{
					set_avion_mitad(elemento);
				}
			}
			else
			{
				elemento = $('avion_5');
				if(!elemento.hasClassName('avion_blanco'))
				{
					set_avion_blanco(elemento);
				}
			}
		}
		else
		{
			if(decimal >= 0.5)
			{
				var num = new Number(entero+1);
				elemento = $('avion_'+num.toString());
				if(!elemento.hasClassName('avion_mitad'))
				{
					set_avion_mitad(elemento);
				}
				desde = entero + 2;
			}
			else
			{
				desde = entero + 1;
			}
			for(i=desde;i<6;i++)
			{
				elemento = $('avion_'+i);
				if(!elemento.hasClassName('avion_gris'))
				{
					set_avion_gris(elemento);
				}
			}
		}
	}
}

function votar(posicion)
{
	var foto_id = $F('foto_id');
	var div = $('puntaje');
	var frase = $('frase');
	var html = aviones_estaticos(posicion);
	div.update(html);
	Insertion.Bottom(frase, posicion);
	frase.show();
	setTimeout('esconder_frase()',2000);
	var parametros = "id="+foto_id+"&punt="+posicion;
	var pedido = new Ajax.Request( "votar_fotos_ajax.php", {method: 'get', parameters: parametros});
}

function esconder_frase()
{
	var frase = $('frase');
	frase.hide();
}

function aviones_estaticos(posicion)
{
	var html = "";
	for(i=1;i<posicion+1;i++)
	{
		html += "<div id='avion_"+i+"' class='avion_blanco'/> </div>";
	}
	for(i=posicion+1;i<6;i++)
	{
		html += "<div id='avion_"+i+"' class='avion_gris'/> </div>";
	}
	return html;
}

function denunciar(id)
{
	var confirmado = confirm("¿Seguro que desea denunciar éste comentario?");
	if(confirmado)
	{
		var video_id = $('video_id');
		var v_id = video_id.value;
		var tipo = $F('tipo');
		var denuncia = $('denuncia_'+id);
		var loading = $('denunciar_loading_'+id);
		denuncia.hide();
		loading.show();
		var parametros = 'id_v='+v_id+'&id_c='+id+'&tipo='+tipo;
		var pedido = new Ajax.Request( "comentario_denunciar_ajax.php", {method: 'get', parameters: parametros, onComplete: actualizar_denuncia});
	}
}

function actualizar_denuncia(respuesta_xml)
{
	var nodos = respuesta_xml.responseXML.getElementsByTagName("record");
	var nodo = nodos[0];
	var id = nodo.getElementsByTagName("ide")[0].firstChild.nodeValue;
	var denuncia = $('denuncia_'+id);
	var loading = $('denunciar_loading_'+id);
	loading.hide();
	if(id == '-1')
	{
		alert("Error al denunciar, intente nuevamente en unos minutos");
		denuncia.show();
		return;
	}
	denuncia.update('Comentario denunciado');
	denuncia.show();
}

function ver_agregar()
{
	esconder_mensajes();
	if($('agregar').visible())
	{
		$('agregar').hide();
	}
	else
	{
		$('agregar').show();
	}
}

function ir_abrir_comentario()
{
	esconder_mensajes();
	$('agregar').show();
	$('agregar').scrollTo();
	$('autor_nick').focus();
}

function ver_enviar()
{
	esconder_mensajes();
	if($('enviar').visible())
	{
		$('enviar').hide();
	}
	else
	{
		$('enviar').show();
	}
}

function agregar_comentario_captcha()
{
	var captcha = $F('captcha');
	var boton = $('agregar_boton');
	var loading = $('agregar_loading');
	if(captcha == '')
	{
		alert('Debe colocar lo que muestra la imagen');
		return;
	}
	boton.hide();
	loading.show();
	var parametros = 'text='+captcha;
	var pedido = new Ajax.Request( "comentario_agregar_captcha_ajax.php", {method: 'post', parameters: parametros, onComplete: actualizar_captcha});
}

function actualizar_captcha(respuesta_xml)
{
	var nodos = respuesta_xml.responseXML.getElementsByTagName("record");
	var nodo = nodos[0];
	var resultado = nodo.getElementsByTagName("valor")[0].firstChild.nodeValue;
	if(resultado == 'no')
	{
		alert('El texto ingresado no coincide con la imagen mostrada');	
		var boton = $('agregar_boton');
		var loading = $('agregar_loading');
		boton.show();
		loading.hide();
		return;
	}
	else
	{
		agregar_comentario();	
	}
}

function agregar_comentario()
{
	var foto_id = $F('foto_id');
	var autor = $F('autor_nick');
	var mail = $F('autor_mail');
	var comentario = $F('comentario_texto');
	var boton = $('agregar_boton');
	var loading = $('agregar_loader');
	
	if(autor == '' || !clicado_nick)
	{
		mostrar_mensaje('autor_m');
		return;
	}
	if(mail == '' || !clicado_mail_comentario)
	{
		mostrar_mensaje('email_m_comentario');
		return;
	}
	else
	{
		if(!comprobar_mail(mail))
		{
			mostrar_mensaje('email_i_comentario');
			return;	
		}
	}
	if(comentario == '')
	{
		mostrar_mensaje('comentario_m');
		return;
	}
	if(comentario.toArray().length > 600)
	{
		mostrar_mensaje('comentario_i');
		return;
	}
	boton.hide();
	loading.show();
	var parametros = {id:foto_id,autor:autor,mail:mail,text:comentario};
	var pedido = new Ajax.Request( "comentario_agregar_ajax.php", {method: 'post', parameters: parametros, onComplete: actualizar_agregar_comentarios});
}

function actualizar_caracteres_comentarios()
{
	var letras = $('letras');
	var cant = $F('comentario_texto').toArray().length;
	letras.update('Máximo 600 caracteres ('+cant+')');
	if(cant > 600)
		letras.addClassName('rojo');
	if(cant <= 600)
		letras.removeClassName('rojo');
}

function actualizar_agregar_comentarios(respuesta_xml)
{
	actualizar_comentarios(respuesta_xml);
	ver_agregar();
	mostrar_mensaje('exito_comentario');
	setTimeout('esconder_mensajes()',2000);
}

function actualizar_comentarios(respuesta_xml)
{
	var texto = respuesta_xml.responseText;
	var boton = $('agregar_boton');
	var loading = $('agregar_loader');
	boton.show();
	loading.hide();	
	$('comentarios_contenedor').update(texto);
}

function ver_comentarios(pagina)
{
	esconder_mensajes();
	var foto_id = $F('foto_id');
	var parametros = 'page='+pagina+'&id='+foto_id;
	var pedido = new Ajax.Request( "comentario_ver_ajax.php", {method: 'post', parameters: parametros, onComplete: actualizar_comentarios});
}

function ver_mes(pagina)
{
	var parametros = 'mes='+pagina;
	var pedido = new Ajax.Request( "repositorio_actualizar_ajax.php", {method: 'post', parameters: parametros, onComplete: actualizar_repositorio});
}

function ver_sub_pagina(pagina)
{
	var parametros = 'sub='+pagina;
	var pedido = new Ajax.Request( "repositorio_actualizar_ajax.php", {method: 'post', parameters: parametros, onComplete: actualizar_repositorio});
}

function enviar_foto()
{
	var foto_id = $F('foto_id');
	var autor = $F('remitente_mail');
	var receptor = $F('receptor_mail');
	var nick = $F('autor_nick_enviar');
	var texto = $F('texto_enviar');
	var boton = $('enviar_boton');
	var loading = $('enviar_loader');
	var params_ext = '';
	
	if(autor == '' || !clicado_mail_propio)
	{
		ajustar('email_m_autor');
		mostrar_mensaje('email_m_autor');
		return;
	}
	else
	{
		if(!comprobar_mail(autor))
		{
			ajustar('email_i_autor');
			mostrar_mensaje('email_i_autor');
			return;
		}
	}
	if(receptor == '' || !clicado_mail_amigo)
	{
		ajustar('email_m_amigo');
		mostrar_mensaje('email_m_amigo');
		return;
	}
	else
	{
		if(!comprobar_mail(receptor))
		{
			ajustar('email_i_amigo');
			mostrar_mensaje('email_i_amigo');
			return;	
		}
	}
	var nickb = false;
	var textob = false;
	var parametros;
	if(nick != '' && clicado_autor_enviar)
	{
		nickb = true;
	}
	if(texto != '' && clicado_texto_enviar)
	{
		textob = true;
	}
	boton.hide();
	loading.show();
	if(nickb && !textob)
		parametros = {id:foto_id,autor:autor,receptor:receptor,nick:nick};
	else if(!nickb && textob)
		parametros = {id:foto_id,autor:autor,receptor:receptor,texto:texto};
	else if(nickb && textob)
		parametros = {id:foto_id,autor:autor,receptor:receptor,texto:texto,nick:nick};
	else
		parametros = {id:foto_id,autor:autor,receptor:receptor};
	
	var pedido = new Ajax.Request( "foto_enviar_ajax.php", {method: 'post', parameters: parametros, onComplete: actualizar_enviar_foto});
}

function actualizar_enviar_foto(respuesta_xml)
{
	var nodos = respuesta_xml.responseXML.getElementsByTagName("record");
	var nodo = nodos[0];
	var resultado = nodo.getElementsByTagName("valor")[0].firstChild.nodeValue;
	var boton = $('enviar_boton');
	var loading = $('enviar_loader');
	if(resultado != 'si')
	{
		boton.show();
		loading.hide();
		ver_enviar();
		ajustar('error_enviado');
		mostrar_mensaje('error_enviado');
		setTimeout('esconder_mensajes()',2000);
		return;
	}
	else
	{
		boton.show();
		loading.hide();
		ver_enviar();
		ajustar('exito_enviado');
		mostrar_mensaje('exito_enviado');
		setTimeout('esconder_mensajes()',2000);
	}
}

function comprobar_edad(nacimiento, edad, separador)
{
	var fechan = nacimiento.split(separador);
	var fecha = new Date();
	var anon = parseInt(fechan[0]);
	var ano = fecha.getFullYear();
	if((ano - edad) < anon)
	{
		return false;
	}
	else if((ano - edad) == anon)
	{
		var mesn = parseInt(fechan[1]);
		var mes = fecha.getMonth();
		if((mes + 1 - mesn) < 0)
		{
			return false;
		}
		else if((mes + 1 - mesn) == 0)
		{
			var dian = parseInt(fechan[2]);
			var dia = fecha.getDate();
			if((dia - dian) < 0)
			{
				return false;
			}
		}
	}
	return true;
}

function comprobar_mail(mail)
{
	var arroba = (mail.indexOf("@") > 0) && (mail.lastIndexOf("@") < (mail.toArray().length - 1)) && (mail.indexOf("@") == mail.lastIndexOf("@"));
	var punto = (mail.indexOf(".") > 0) && (mail.lastIndexOf(".") < (mail.toArray().length - 1)) && (mail.lastIndexOf(".") > (mail.lastIndexOf("@") + 1));
	var largo = (mail.toArray().length > 3);
	return (arroba && punto && largo);
}

function comprobar_foto()
{
	var titulo = $F('x_fo_titulo');
	var descripcion = $F('x_fo_descripcion');
	var archivo = $F('x_fo_archivo');
	var actividad = $F('x_fo_actividad');
	var autor = $F('autor');
	var mail = $F('x_fo_mail');
	var fecha = $F('x_fo_fecha_sacada');
	var zona = $F('x_fo_zona');
	if(autor == '')
	{
		mostrar_mensaje('autor_m');
		return false;
	}
	if(mail != '')
	{
		if(!comprobar_mail(mail))
		{
			mostrar_mensaje('email_i');
			return false;
		}
	}
	if(titulo == '')
	{
		mostrar_mensaje('titulo_m');
		return false;
	}
	if(fecha == '')
	{
	}
	else
	{
		if(!comprobar_fecha(fecha))
		{
			mostrar_mensaje('fecha_i');
			return false;
		}
	}
	if(descripcion.toArray().length > 1400)
	{
		mostrar_mensaje('descripcion_i');
		return false;
	}
	if(zona == '')
	{
		mostrar_mensaje('zona_m');
		return false;
	}
	if(actividad == '')
	{
		mostrar_mensaje('actividad_m');
		return false;
	}	
	if(archivo == '')
	{
		mostrar_mensaje('foto_m');
		return false;
	}
	else
	{
		if(!archivo_valido(archivo))
		{
			mostrar_mensaje('foto_i');
			return false;
		}
	}
	
	$('boton_subir').remove();
	//$('boton_cancelar').remove();
	$('loader').show();
	
	return true;
}

function archivo_valido(archivo)
{
	if (archivo.length == 0)
		return true;
	if (typeof EW_IMAGE_ALLOWED_FILE_EXT == "undefined")
		return true;
	var fileTypes = EW_IMAGE_ALLOWED_FILE_EXT.split(",");
	var ext = archivo.substring(archivo.lastIndexOf(".")+1, archivo.length).toLowerCase();
	for (var i=0; i < fileTypes.length; i++) {
		if (fileTypes[i] == ext)
			return true;
	}
	return false;
}

function comprobar_fecha(fecha)
{
	var fecha_ = fecha.split('-');
	if(fecha_.length != 3)
		return false;
	var dia = fecha_[2];
	var ano = fecha_[0];
	var mes = fecha_[1];
	if(dia.toArray().length != 2)
		return false;
	if(mes.toArray().length != 2)
		return false;
	if(ano.toArray().length != 4)
		return false;
	if(es_numero(dia) && es_numero(mes) && es_numero(ano))
		return true;
	else
		return false;	
}

function actualizar_caracteres_temas()
{
	var letras = $('letras');
	var cant = $F('x_vi_descripcion').toArray().length;
	letras.update('Máximo 1400 caracteres ('+cant+')');
	if(cant > 1400)
		letras.addClassName('rojo');
	if(cant <= 1400)
		letras.removeClassName('rojo');
}

function cambiar_idioma(idioma)
{
	var parametros, pedido;
	parametros = 'id='+idioma;
	pedido = new Ajax.Request( "idioma_actualizar_ajax.php", {method: 'get', parameters: parametros, onComplete: actualizar_pagina});
}

function actualizar_pagina(response)
{
	window.location.reload();	
}

function buscar_fotos(pagina)
{
	var text = $F('text');
	$('loader').show();
	var parametros = '';
	if(text != '' && clicado)
	{
		parametros += 'text='+text;
	}
	if(parametros.toArray().length > 0)
		parametros += '&';
	parametros += 'page='+pagina;
	var pedido = new Ajax.Request( "busqueda_actualizar_ajax.php", {method: 'get', parameters: parametros, onComplete: actualizar_busqueda});	
}

function actualizar_busqueda(response)
{
	var texto = response;
	var resp = texto.responseText;
	var arra = resp.toArray();
	if((arra[0]+arra[1]+arra[2]+arra[3]+arra[4]) == 'vacio')
	{
		resp = resp.substr(6);
	}
	$('fotos_gran_contenedor').update(resp);
	$('loader').hide();
}

function actualizar_repositorio(response)
{
	var texto = response;
	var resp = texto.responseText;
	$('contenidos').update(resp);
}

function colocar_fecha(elemento_origen, elemento_destino)
{
	var fecha = convertir_fecha($F(elemento_origen));
	$(elemento_destino).value = fecha;
}

function convertir_fecha(fecha)
{
	var fecha_ = fecha.split('-');
	var dia = fecha_[2];
	var ano = fecha_[0];
	var mes = fecha_[1];
	return dia+'-'+mes+'-'+ano;
}

function esconder_mensajes()
{
	var mensajes = $(cont_mensajes).select('.mensaje');
	var long = mensajes.length;
	for(i = 0; i < long; i++)
	{
		if(mensajes[i].visible());
			mensajes[i].hide();
	}
}

function mostrar_mensaje(id)
{
	esconder_mensajes();
	$(id).show();
}

function es_numero(cadena)
{
	var ayay = cadena.toArray();
	var long = ayay.length;
	var digits = "0123456789";
	var result;
	for(i = 0; i < long; i++)
	{
		result = digits.indexOf(ayay[i]);	
		if(result == -1)
			return false;
	}
	return true;
}

function limpiar_busqueda(elemento)
{
	if(!clicado)
	{
		elemento.value = '';
		elemento.focus();
		clicado = true;
	}
}

function limpiar_nick(elemento)
{
	if(!clicado_nick)
	{
		elemento.value = '';
		elemento.focus();
		clicado_nick = true;
		$('autor_label').show();
	}
}

function limpiar_mail_comentario(elemento)
{
	if(!clicado_mail_comentario)
	{
		elemento.value = '';
		elemento.focus();
		clicado_mail_comentario = true;
		$('autor_mail_label').show();
	}
}

function limpiar_mail_propio(elemento)
{
	if(!clicado_mail_propio)
	{
		elemento.value = '';
		elemento.focus();
		clicado_mail_propio = true;
		$('remitente_mail_label').show();
	}
}

function limpiar_mail_amigo(elemento)
{
	if(!clicado_mail_amigo)
	{
		elemento.value = '';
		elemento.focus();
		clicado_mail_amigo = true;
		$('receptor_mail_label').show();
	}
}

function limpiar_nick_enviar(elemento)
{
	if(!clicado_autor_enviar)
	{
		elemento.value = '';
		elemento.focus();
		clicado_autor_enviar = true;
		$('autor_enviar_label').show();
	}
}

function limpiar_texto_enviar(elemento)
{
	if(!clicado_texto_enviar)
	{
		elemento.value = '';
		elemento.focus();
		clicado_texto_enviar = true;
		$('texto_enviar_label').show();
	}
}

function ajustar(elemento_id)
{
	var elemento = $(elemento_id);
	if($('agregar').visible())
	{
		elemento.addClassName('medio');
		elemento.removeClassName('largo');
	}
	else
	{
		elemento.addClassName('largo');
		elemento.removeClassName('medio');
	}
}

function volver()
{
	window.history.back();	
}