/* Hints v1.00 (c) Copyright 2010, AnimeHD - www.animehd.org */
var HDHints = new function() {
var Hints = [
['480p', 'Video en formato progresivo con 480 líneas de altura, común en DVDs NTSC.',],
['576p', 'Video en formato progresivo con 576 líneas de altura, común en DVDs PAL.',],
['1080p', 'Video en formato progresivo con 1080 líneas de altura, común en Blu-ray.',],
['AAC', 'Advanced Audio Coding es el códec que ha sustituido al MP3. Permite obtener una mejor calidad con un bitrate menor que el MP3.
Guía: Comprimir audio en AAC',],
['AnimeHD Decoder Pack', 'Reproductor y codecs recomendados para reproducir nuestros rips.
Descarga: AnimeHD Decoder Pack',],
['ASS', 'Advanced SubStation Alpha. Formato de subtítulos, basado en un archivo de texto. Es una versión avanzada de SSA (versión 4+) que permite algunos efectos nuevos.
Guía: Subtítulos en .ass
Subtítulos en .ass: Etiquetas',],
['AviSynth', 'Herramienta (frameserver) utilizado por otros programas para editar y procesar audio y video.
Pagina de AviSynth
Pagina de descarga
Guía: Uso básico de AviSynth',],
['CRC32','CRC32 es una forma de Comprobación de Redundancia Cíclica. Sirve para comprobar la integridad de los datos; por ejemplo para comprobar si un archivo se ha descargado correctamente.',],
['Crop', 'Eliminar los bordes de una imagen, normalmente para quitar desperfectos o mantener el AR (Aspect Rate / Relación de Aspecto)',],
['Entrelazado', 'Video que es reproducido al doble de sus fps, pero en cada frame solo se actualizan la mitad de las líneas, alternando las pares e impares. Esto produce artefactos en líneas verticales.
Guía: Desentrelazar video',],
['FFDShow', 'Decoder de prácticamente todos los formatos de audio y video (e.o. DivX, XVID y h.264).
AnimeHD Decoder Pack',],
['Haali Media Splitter', 'Actualmente conocido como Matroska Spliter sirve para poder reproducir: MKV (Matroksa), MP4, AVI, OGG/OGM y MPEG TS
Pagina de Haali Media Splitter',],
['HashTab', 'Extension de Windows/Mac gratuito para comprobar los CRC de un archivo.
Pagina de descarga',],
['HDPlayer', 'Reproductor creado por AnimeHD. Maxima calidad de imagen y compatible con nuestras versiones dual, sin necesidad de crear un archivo Matroska.
Descarga: AnimeHD Decoder Pack',],
['Matroska Splitter', 'Tambien conocido como Haali Media Spliter sirve para poder reproducir: MKV (Matroksa), MP4, AVI, OGG/OGM y MPEG TS
Pagina de Haali Media Splitter',],
// ['Media Player Classic', 'Reproductor recomendado para reproducir video.
AnimeHD Decoder Pack
Guía: Hacer Capturas con Media Player Classic',],
['MKV', 'Matroska en un contenedor universal. Puede contener entre otras cosas tanto audio y video, como subtítulos y fuentes adicionales.
Requiere un splitter: Pagina de Haali Media Splitter',],
['MKVToolnix', 'Herramienta para crear y modificar archivos Matroska (*.mkv)
Pagina de descarga
Guía: Unir Videos con MKVToolNix',],
['MP4', 'Contenedor oficial para audio y video en formato MPEG-4 (DivX, XVID, 3IVX, h.264, AVC).
MP4 es el sucesor de AVI.',],
['SSA', 'SubStation Alpha. Formato de subtítulos, basado en un archivo de texto.',],
['V.O.S.', 'Versión Original Subtítulada',],
['VFR', 'Variable Framerate; Video híbrido. La velocidad de reproduccion varia según la escena, permitiendo una mayor fluidez en un archivo de menor tamaño. Esta basado en el concepto de los CFR a 120fps (tiene la misma fluidez), pero sin el aumento del bitrate.',],
['VirtualDub', 'Programa para la captura y edición (basica) de video.
Pagina de VirtualDub',],
['WinRAR', 'Programa para comprimir y partir archivos.
Guía: Partir y Proteger archivos con WinRAR',],
['x264', 'Programa para comprimir video en h.264.
Guía: Introducción al compresor x264',],
['h.264', 'H.264/AVC/MPEG-4 parte 10 (Advanced Video Coding) es el códec que ha sustituido al Xvid. Permite obtener una mejor calidad con un bitrate menor que Xvid.
Guía: Introducción al compresor x264',],
['Ecchi', 'Genero: contiene erotismo; escenas sexuales no demasiada explícitas y amenudo con aspectos humorísticos',],
['Gore', 'Genero: contiene violencia extrema (sangre, descuartizaciones)',],
['Harem', 'Genero: su trama principal está protagonizada por un grupo de personajes femeninas, que poseen actitudes muy dispares y que conviven con un unico hombre.',],
['Hentai', 'Genero: tiene contendio pornográfico',],
['Ero-Guru', 'Subgenero de hentai con sangre, mutilaciones, o escatologia (Erotico-grotesco - abreviado: guro)',],
['Futanari', 'Subgenero de hentai donde las protagonistas son hermafroditas.',],
['Kemonomimi', 'Subgenero de hentai donde las protagonistas, aun siendo humanos, poseen alguna característica animal.',],
['Lolicon', 'Subgenero de hentai donde algunas personajes son chicas con aspecto de menor.',],
['Shotacon', 'Subgenero de hentai donde algunas personajes son chicos con aspecto de menor.',],
['Kodomo', 'Genero: dirigido al público infantil. Su tema principal se puede comprender facilmente.',],
['Mecha', 'Genero: sobre vehiculos pilotados que se desplazan con patas',],
['Josei', 'Genero: dirigido a mujeres de mediana edad. Su trama principal narra historias de experiencias femeninas.',],
['Seinen', 'Genero: dirigdo a hombres de mediada edad. Su trama suele estar relacionado, con negocios y la politica.',],
['Shojo', 'Genero: dirigido al público femenino. Normalmente la historia se centra en las relaciones humanas, particularmente el amor.',],
['Shonen', 'Genero: dirigido al público masculino. Normalmente contiene mucha accion.',],
['Yaoi', 'Genero: su tema principal son las relaciones sexuales entre hombres',],
['Yuri', 'Genero: su tema principal son las relaciones sexuales entre mujeres',],
['Bishonen', 'Chico guapo',],
['Bishojo', 'Chica guapa',],
['Cosplay', 'Disfrazarse',],
['Fanservice', 'Mostrar lo que quieren ver (suele ser ecchi y es común en el genero shonen)',],
['Kohai', 'Contario de Senpai; estudiante de un curso inferio o una persona con menos experiencia.',],
['Lolita', 'Chica joven e inocente',],
['Sensei', 'Profesor, doctor o cualquier otra persona con una profesion que requiere un titulo universitario, las personas que enseñan artes marciales o que trabajan en la politica. Normalmente se usa para mostrar respeto.',],
['Senpai', 'Persona con mas experiencia: un estudiante de un curso superior, alguien que lleva practicando durante mas tiempo un deporte o cualquier otra persona que se dedica a lo mismo, pero que lleva haciendolo desde antes.',]
];
jQuery(document).ready(function () {
HintLayer = document.createElement("div");
HintLayer.className = "hint";
jQuery(HintLayer).mouseleave(function(){jQuery(this).fadeTo("slow", 0.0, function() {this.style.display = "none";})});
HintTitle = document.createElement("div");
HintTitle.className = "hinttitle";
HintBody = document.createElement("div");
HintBody.className = "hintbody";
HintLayer.appendChild(HintTitle);
HintLayer.appendChild(HintBody);
jQuery(HintLayer).css({'opacity' : 0.0, 'display' : 'none'});
document.body.appendChild(HintLayer);
jQuery("div.postbody").each(HDHints.SetHintsBody);
});
return {
HintIt: function(a, index){
HintTitle.innerHTML = Hints[index][0];
HintBody.innerHTML = Hints[index][1];
jQuery('a', HintBody).attr('target', '_blank');
jQuery(HintLayer).stop();
jQuery(HintLayer).css({'opacity' : 0.0});
jQuery(HintLayer).show();
Top = Math.max(document.documentElement.scrollTop, 0); //Safari and OmniWeb 4.5+ no scroll = -8
if (Top == 0)
Top = Math.max(document.body.scrollTop, 0); //Chrome
Height = window.innerHeight; //Todos excepto IE
if (Height == null) //Todos excepto IE5-7 quirks
Height = document.documentElement.clientHeight;
if ((Height == null) || (Height == 0)) //solo IE5-7 quirks
Height = document.body.clientHeight;
var Offset = HDHints.AbsoluteOffset(a);
if (Height < Offset.y - Top + HintLayer.offsetHeight)
HintLayer.style.top = Top + Math.max(Height - HintLayer.offsetHeight, 0) + "px";
else
HintLayer.style.top = Offset.y + "px";
if ((document.body.offsetLeft + document.body.offsetWidth) < (Offset.x + HintLayer.offsetWidth + 8))
HintLayer.style.left = Math.max(document.body.offsetLeft + document.body.offsetWidth - HintLayer.offsetWidth - 8, 0) + "px";
else
HintLayer.style.left = Offset.x +"px";
//HintLayer.style.top = Offset.y + "px";
//HintLayer.style.left = Offset.x +"px";
jQuery(HintLayer).fadeTo("slow", 0.95);
},
AbsoluteOffset: function(domElement)
{
var r = { x: 0, y: 0 };
do {
r.x += domElement.offsetLeft;
r.y += domElement.offsetTop;
} while (domElement = domElement.offsetParent);
return r;
},
SetHints: function(index, domElement)
{
if (this.nodeValue)
{
oldText = this.nodeValue;
newText = oldText;
for (i in Hints)
{ // \b no funciona para el final; añade (sp) y busca non-word char
if (Hints[i][0])
{
if (Hints[i][2]) continue;
x = (newText + ' ').search(new RegExp('\\b' + Hints[i][0].replace(/\./g, '\\.') + '\\W', 'i'));
if (x == -1) continue;
tl = Hints[i][0].length;
Hints[i][2] = true;
newText = newText.substr(0, x) + '' + newText.substr(x, tl) + '' + newText.substr(x + tl);
if (newText.charAt(0) == ' ') newText = ' ' + newText.substr(1);
}
}
if (oldText != newText)
{
newspan = document.createElement("span");
newspan.innerHTML = newText;
this.parentNode.replaceChild(newspan, this);
}
}
jQuery(this).contents(":not(a)").each(HDHints.SetHints);
},
SetHintsBody: function(index, domElement)
{
jQuery(domElement).contents(":not(a)").each(HDHints.SetHints);
for (i in Hints)
Hints[i][2] = false;
}
}
}