/*
FilmAffinity++
Version 3.2.7.5 - benjani benjani86 at gmail.com
Basado en una versión anterior de psychomaster zico10 at gmail.com,
David Buxó Alvarez davidbuxo at gmail.com,
Javier Arias http://javierarias.wordpress.com/scripts/filmaffinityplus/
@todo:
- Aplicar limites a todas las paginas de listados, comprobar limite real de FA
- Nota media en busquedas por director
- Cambios en la lista de TOP
- Unificar los menus
@no todo (cosas que solo podrian hacer en el servidor)
- Afinidad de amigos
- Grafico de usuarios
Changelog
* 3.2.7.2, 31 de Diciembre 2014
+ Poner un guion en las pelis que no hemos votado en los distintos apartados
* 3.2.7.1, 31 de Diciembre 2014
+ Añadida nueva página de ThePirateBay
+ Añadido link del panel de configuracion fijo
+ Cambio del estilo de las críticas (fondo azul clarito)
* 3.2.7, 30 de Diciembre 2014
+ Arreglado de nuevo votos (busquedas, topics, listas) tras cambio en FA
+ Arreglado datos extras en listas
+ Relleno de campos automaticamente desde IMDB al añadir película
+ Color de fondo a las críticas
* 3.2.6, 20 de Septiembre 2014
+ Arreglado votos tras cambio de diseño en FA
* 3.2.5, 17 de Junio 2014
+ Actualizadas clasificaciones a 2014
+ Arreglado votos en busquedas/listas/topics tras el cambio en FA
+ Arreglado mostrar listas favoritas
+ Arreglado icono para añadir listas favoritas en FA
+ Opción de cambiar el color de los votos en nuestras listas
+ Añadidos cinemageddon, karagarga, asiatorrents, eutorrents y kickass en enlaces externos
* 3.2.4, 7 de Septiembre 2013
+ Añadidas notas del usuario en búsqueda avanzada, topics y votos de otros usuarios
+ Arreglado el problema en FA con las notas, y con los amigos
+ Acrtualizado el icono de argenteam, y revisada su página de búsqueda, así como la de clan-sudamerica
* 3.2.3, 18 de Agosto 2013
+ Arreglado el script tras el cambio de estilo visual de FA
+ Mejorado notas de otras páginas (IMDB y Rottentomatoes) y añadida MyAnimeList
+ Mejorado el aspeto de votos en busquedas
+ Añadido votos por continentes en estadísticas de otros
+ Añadida afinidad entre 2 usuarios en estadísticas
* 3.2.2, 30 de Diciembre 2012
+ Arreglado obtener Id de usuario
+ Añadida listas favoritas IMDB
+ Añadidas notas de IMDB, Rotten y Abandomoviez en fichas de películas (no funcionan al 100%)
* 3.2.1, 27 de Junio
+ Opción de abrir votaciones/críticas/listas en una nueva pestaña
+ Opción de poner el retardo manual
+ Añadidos Comores, Lesotho, Liberia, Myanmar a los rankings
+ Arreglado enlace externo IMDB
* 3.2.0, 23 de Junio 2012
+ Arreglado cambios en nº de votos/criticas/listas
+ Rediseñado el aspecto de la tabla de amigos
+ Actualizados Premios II
* 3.1.0, 11 de Febrero 2012
+ Añadida clasificaciones por países
* 3.0.1, 30 de Enero 2012
+ Arreglado añadir contactos adicionales sin críticas
+ Arreglado y añadido poder añadir contactos desde estadisticas, recomendaciones, listas
* 3.0.0, 24 de Enero 2012
+ Arreglado mostrar banderas coproducciones
+ Arreglado búsquedas adicionales en búsquedas
+ Arreglado añadir rápido a listas
+ Nueva versión (con el nuevo diseño) de mis datos adicionales
+ Añadida listas en tabla de contactos adicionales
+ Posibilidad de ordenar contactos adicionales por nick/ubicacion/votos/criticas/listas
+ Búsqueda directa de guionistas, músicos, fotógrafos y años desde fichas
+ Agregados resumenes de votaciones en listas propias, y en listas de otros
+ Nueva versión de contactos adicionales (votos sacados desde página propia)
+ Añadido mostrar tus estadísticas al ver las de otro usuario
* 2.0.50, 9 de Diciembre 2011
- Deshabilitado de momento votos de contactos en fichas
+ Arreglado Añadir contactos desde url
+ Arreglado añadir contacto cuando no hay ninguno
* 2.0.49, 8 de Diciembre 2011
+ Arreglado votos de contactos adicionales en fichas de películas con crítica hecha
* 2.0.48, 8 de Diciembre 2011
+ Añadido votos de otros contactos en fichas de películas
+ Arreglado captura de nombre de otros contactos cuando contenian "de"
+ Añadido enlaces a votos y críticas en tabla de otros contactos
* 2.0.47, 4 de Diciembre 2011
+ Arreglado mostrar listas favoritas en mis listas
+ Arreglado y mejorado añadir contactos adicionales desde página de votaciones
+ Arreglado captura nombre de listas
+ Arreglada tabla contactos adicionales
+ Arreglado menús en la barra izquierda
+ Añadido nuevo menú: Premios II
* 2.0.46, 24 de Noviembre 2011
+ Corregido momentaneamente orden nuestras listas
+ Arreglado ordenar películas en listas con flechas (valido hasta 999 elementos)
+ Arreglado ver votos del usuario en listas de otros
+ Corregido ver votos en busquedas
+ Aumentado numero de votos mostrados en busquedas (no tops fa) (antes solo 20, ahora para los 45)
* 2.0.45, 21 de Noviembre 2011
+ Corregidos enlaces externos en fichas de películas
+ Arreglada página de amigos que salía en blanco
+ Corregido actualización de contactos adicionales
+ Banderas en Mis Datos
* 2.0.44, 12 de Julio 2011
+ Corregidos enlaces en Listas favoritas
* 2.0.43, 11 de Julio 2011
+ Corregidos enlaces en Mis listas
* 2.0.42, 21 de Mayo 2009
+ Ordenar lista de Mis Listas
+ Corregido Bug en Capturar listas con listas sin nombre.
* 2.0.41, 20 de Mayo
* Agrupadas las fechas en historico de cambios de Almas Gemelas.
* Listas Favoritas
* Distribución de paises 'Continental simplificado' de Multifolio
* Ordenar listas multipagina
* 2.0.40, 9 de Mayo
* han vuelto a cambiar a TITULO ORIGINAL.
* 2.0.38, 7 de Mayo
* Cambio en FA. TITULO ORIGINAL -> TÍTULO ORIGINAL
* 2.0.37b, 4 de Mayo
* Cambios en Mis Datos opcionales.
* 2.0.37, 4 de Mayo
* Agrupaciones de paises según criterios
* Bloqueado movimiento en listas para listas con mas de una página
* 2.0.36, 1 de Mayo
+ Votos por año en Mis Datos
* 2.0.35, 29 de Abril
+ Corregido problema con paises sin continente
* 2.0.34 , 29 de Abril
+ Votaciones y Media por continentes en Mis Datos
* 2.0.33 , 28 de Abril
+ Corregido tamaño de las barras en Mis Datos
* 2.0.32, 27 de Abril
+ Añadidos dos indices mas (rareza, documentales)
+ Modificada la apariencia de la tabla de votos en Mis Datos
+ Corregida la ordenación de contactos adicionales por nombre
* 2.0.31, 26 de Abril
+ Ajustada presentación de indices
+ Ordenados contactos adicionales por nombre
* 2.0.30, 25 de Abril
+ Corregido Bug en contactos si tienes 20 amigos
+ Añadidos índices 'multifolio' - http://filmaffinity.mforos.com/1360515/7122665-indices-indicadores-e-indicios/
* 2.0.29, 23 de Abril
+ Contactos adicionales
+ Corregido error si no se borra la lista temporal.
+ Corregido error al votar en listas, no se actualizaba la nueva puntuación en el menu
+ Enlaces externos en listas
+ Buscar listas (Usando metodo multifolio) (preliminar, por ahora te manda a la pagina de google)
* 2.0.28, 26 de Marzo
* Corregido cambio de estilo de puntuaciones
* 2.0.27, 25 de Marzo
# Corregido error con worklist
* 2.0.26, 25 de Marzo
+ Mis votos en los resultados de las busquedas
+ Posibilidad de votar desde las busquedas y las listas de los amigos
+ Posibilidad de votar desde mis listas
+ En caso de que la busqueda no de resultado, nos redirige al buscador global
* 2.0.25, 24 de Marzo
+ Mis votos en las listas de amigos
+ Soporte para varios usuarios de FilmAffinity en el mismo perfir de Firefox
* 2.0.24, 21 de Marzo
# Corregido Bug en coproducciones. (Ahora solo busca paises si aparece la palabra coproducción, quizas tengamos problemas)
# Corregido Bug en Coproducciones -> Detectaba Alemania en 'Alemania del Oeste',etc..
* 2.0.23, 21 de Marzo
# Corregido error en nº de criticas modificadas en amigos
# Corregido error: Se mostraba el botón de añadir a listas aun cuando no estabamos logeados.
# Corregido error: No se mostraba el botón de añadir a listas al continuar con la busqueda.
+ Enlaces en la lista de amigos, pinchando en sus votaciones, vamos a su pagina de votaciones
pinchando en sus criticas, vamos a su lista de criticas.
* 2.0.22, 20 de Marzo
* Soporte preliminar para opera en algunas opciones.
necesita http://www.howtocreate.co.uk/operaStuff/userjs/aagmfunctions.js
de la página http://www.howtocreate.co.uk/operaStuff/userJavaScript.html
* Banderas en la lista de amigos
* Añadidos codigos para Lituania, Eslovaquia , Sri Lanka,
Albania,Azerbaijan,Bangladesh,Benín,Emiratos Árabes,Etiopía,Guinea,Guinea Bissau,
Haití,Jamaica,Jordania,Kenia,Kirguizstán,Laos,Letonia,Malta,
Mauritania,Moldavia,Namibia,Tanzania,Trinidad y Tobago y Ucrania
Andorra,Antigua y Barbuda,Arabia Saudí,Bahamas,Bahrein,Barbados,Belize,
Botswana,Brunei,Burundi,Cabo Verde,Camerún,Chipre,Comores,Congo,Dominica,
El Salvador,Eritrea,Fidji,Gabón,Gambia,Ghana,Granada,Guinea Ecuatorial,
Guyana,Honduras,Kuwait,Lesotho,Liberia,Libia,Liechtenstein,Madagascar,
Malawi,Maldivas,Marshall (Islas),Mauricio (Isla),Micronesia,Mónaco,Montenegro,
Mozambique,Myanmar - Birmania,Níger,Omán,Palau,Papuasia Nueva Guinea,Qatar,
Rep. Centroafricana,Ruanda,Samoa,San Marino,Santo Tomé y Príncipe,
Seychelles,Sierra Leona,Siria,Somalia,Sudán,Surinam,Swazilandia,
Tajikistan,Togo,Turkmenistán,Uganda,Uzbekistan,Vanuatú,Zambia,Zimbabwe
* 2.0.21, 18 de Marzo de 2009
+ Añadidos/modificados codigos para RDA, RFA, URSS, Líbano y Serbia y Montenegro
- Eliminado opción para Ocultar series de TV (por ahora da problemas)
# Cambiadas las imagenes de Almas gemelas(problemas al copiar/pegar en foros)
* 2.0.20
+ Banderas de los paises coproductores en la ficha de la pelicula (Sacado de la lista de Productora)
+ Muestra los cambios en el nº de criticas de los amigos
* 2.0.19, 17 de Marzo de 2009
# Corregido bug con icono de zoom de los posters al centrar
# Modifica la etiqueta de cantidad de listas a las que pertenece la pelicula al añadir o borrar
# Corregido bug en opción de centrado (no se mostraba en panel de configuración)
# Corregido bug en enlaces externos con tilde (no se podian ocultar)
# Corregido bug en enlaces externos en el panel derecho (se mostraban las categorias sin enlaces activos)
* 2.0.18, 16 de Marzo de 2009
+ Añadido ordenación dentro de las listas
# Corregido Bug en estadisticas de usuarios
# Corregido Bug en puntuaciones. (en pagina de película, con una sola alma gemela)
+ Añadido ocultar Series de TV (preliminar)
# Centrar pagina en ventana del navegador (mejor hacerlo via stylish)
+ Añadido opción para plegar menus
* 2.0.17, 13 de Marzo de 2009
# Corregido bug en página de amigos
* 2.0.16, 12 de Marzo de 2009
# Corregido bug al mostrar enlaces en la página de busqueda
* 2.0.15, 12 de Marzo de 2009
+ Añadido comprobación de listas en el menu rapido de listas
* 2.0.14, 11 de Marzo de 2009
# Sustituidas las funciones de comprobación de sección.
+ Añadido QuickList a las paginas de busqueda y Top
# Modificado el estilo del menu de listas rapidas.
* 2.0.12
# Modificado DaleYa para que busque por el titulo original
* 2.0.11
+ Añadido enlace a ForiegMMoviesDDL (petición de capacitivo)
+ Añadido enlace a DaleYa (petición de capacitivo)
+ Añadido soporte para opciones en los enlaces (DaleYa)
* 2.0.9, 10 de Marzo de 2009
- Eliminada la dependencia del indice de tabla en insertar enlaces en titulo
* 2.0.8, 10 de Marzo de 2009
+Añadido rapido a listas desde la ficha de la pélicula
* 2.0.7b, 10 de Marzo de 2009
# Modificado Icono vagos.es
# Corregido el error en listas rapidas
* 2.0.7, 10 de Marzo de 2009
Historico en almas gemelas.
* 2.0.6, 7 de Marzo de 2009
Añadida lista rapida a pagina de votaciones de usuarios
* 2.0.5, 5 de Marzo de 2009
Corregida pantalla selección de listas para nº grande de listas
* 2.0.4, 4 de marzo de 2009 (publica)
Añadidos almas gemelas caidas y fecha de ultimos cambios.
Ocultar enlaces por tipo
Modificado el codigo para guardar las preferencias
Posibilidad de modificar el nº de peliculas que aparecen en las listas de recomendaciones y TOP
* 2.0.3, 3 de marzo de 2009 (interna)
Añadido el control de cambios en almas gemelas
Añadidas opciones para activar/desactivar los nuevos cambios
* 2.0.2, 2 de marzo de 2009 (interna)
Añadido el sistema rapido para añadir a listas
* 2.0.1, 1 de marzo de 2009 (interna)
Integrados los menus en la barra izquierda
Integrados enlaces en la ficha de la pelicula
* 1.2.0 -> FilmAffinityPlus por Javier Arias
* 1.2.0, 26 de agosto de 2008
Añadida la opción para abrir los enlaces en nueva ventana (muy solicitado).
Ahora se utiliza la versión en castellano de IMDb.
Cambio de imagen del panel de configuración.
Añadido el sitio de información general Rotten Tomatoes (petición de Jerry Lucas).
Añadidos los siguientes sitios de descargas: aRGENTeaM, titles.box.sk y fileheaven (petición de aixa-impaciente).
Añadido el sitio de descarga directa Taringa!.
Arreglada la búsqueda en CINeol.
Se indica cuáles de los sitios web a los que enlaza el script requieren registro.
En el log se muestra la versión del script, útil para buscar y corregir errores.
Se puede acceder fácilmente a la información de depurado pulsando en el título de la barra de FilmAffinityPlus.
* 1.1.0, 27 de junio de 2008
Añadida una barra en la parte superior izquierda de la pantalla, con botones para acceder al panel de configuración, a la web oficial y para añadir FilmAffinity a los motores de búsqueda de Firefox.
Añadida una opción para cambiar el estilo de las estrellas de puntuación. Se incluyen dos esquemas: uno de estrellas rojas y otro de estrellas amarillas, además de la posibilidad de dejar las estrellas que vienen por defecto.
Los enlaces a otros sitios web se muestran también en la página de resultados de una búsqueda.
Tras realizar una búsqueda se guarda la opción de búsqueda realizada (ej: una búsqueda por "Reparto" deja seleccionada la opción "Reparto", actualmente tras cualquier tipo de búsqueda la opción seleccionada es siempre "Todas"). Además, tras la búsqueda el cuadro de búsqueda se queda con el foco del teclado.
Arreglada la búsqueda en otros sitios web cuando los títulos contenían caracteres "raros", como tildes o acentos circunflejos (gracias aka_IDIOT).
Se cambia el enlace a la versión inglesa de FilmAffinity para que apunte a la misma página en inglés, actualmente apunta siempre a la página principal (ej: desde la ficha de una película se va a la versión inglesa de la ficha).
Cambiado el antiguo webchat por su nueva versión en flash.
Recuperado el sitio de subtítulos solosubtitulos.com pues parece que vuelve a funcionar.
Añadido un enlace externo a "el grupo de last.fm que surgió del foro que surgió de FilmAffinity" (sugerencia de VicenteJavier).
Se muestra la bandera de cada país en la sección "Mis datos", también en la búsqueda avanzada y en los TOP FilmAffinity.
En la sección "Mis datos" se añade a las estadísticas el número de países diferentes con películas vistas.
Las búsquedas para AllZine (gracias VicenteJavier) y para Cinépatas (gracias pohc) se realizan con el título traducido debido a que la tasa de aciertos es mucho mayor que con el título original.
Añadido el sitio de descargas Vagos.es (petición de Soisa y de un usuario anónimo).
Correcciones menores.
* 1.0.1, 14 de mayo de 2008
Cambiado ligeramente el CSS del panel de configuración.
Correcciones menores.
* 1.0.0, 12 de mayo de 2008
Primera versión pública.
Eliminada la búsqueda de subtítulos en solosubtitulos.com pues la página ha desaparecido.
* 0.9.9, 25 de abril de 2008
Arreglada la búsqueda en La Butaca.
* 0.9.8, 23 de abril de 2008
Para los enlaces a otros sitios web se utiliza el título original, no el traducido.
Arreglada de nuevo la búsqueda en Google (gracias jota724).
La notificación de cambios en el número de votos de Mis amigos también funciona para usuarios validadores de críticas, tal vez funcione para el resto de administradores (gracias jota724).
* 0.9.7, 21 de abril de 2008
Ahora el script funciona también para usuarios validadores de críticas, tal vez funcione para el resto de administradores (gracias jota724).
Si no hay seleccionado ningún enlace de alguna categoría no se muestra ésta en la ficha de la película (gracias Zopilote).
Arreglada la búsqueda en Alpacine (gracias Manhoman).
Añadido DivX Clásico (petición de Grandine).
* 0.9.6, 20 de abril de 2008
'Secciones externas' aparecía incorrectamente en las páginas de estadísticas (gracias aka_IDIOT).
Arreglada la búsqueda en Google (gracias aka_IDIOT).
Arreglado pequeño fallo al cargar las preferencias cuando el tipo de dato era 'undefined'.
Añadido Cine-Clásico (petición de Grandine).
Añadido Cinépatas (petición de Zopilote).
Añadido AllZine (petición de Grandine).
* 0.9.5, 18 de abril de 2008
Primera versión beta pública.
*/
// ==UserScript==
// @name FilmAffinity++
// @namespace http://www.filmaffinity.com/
// @description Mejoras en FilmAffinity
// @include http://www.filmaffinity.com/es/*
// @include http://www.imdb.com/*
// @version 3.2.7.5
// ==/UserScript==
//window.addEventListener("load", function () {
doFAPP();
//}, false);
function doFAPP() {
var d = document;
var appName = "FilmAffinity++";
var appVersion = '3.2.7.5';
var homepage = 'http://userscripts.org/scripts/show/118708';
var url = d.location.href;
//Trim es una función que nos permite eliminar los carácteres en blanco al principio y fin de una cadena.
String.prototype.trim = function() {
return this.replace(/^\s+|\s+$/g, '');
};
//Quita el título alternativo entre paréntesis
String.prototype.clearTitle = function()
{
return (this.indexOf('(') > 1) ? this.substr(0, this.indexOf('(')).trim() : this.trim();
};
//Invierte la cadena
String.prototype.reverse = function() {
return this.split("").reverse().join("");
};
//
// var node = document.evaluate(xpath,document,null,XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
String.prototype.findNode = function(context)
{
//Si no se pasa ningún argumento, context = document
//var xpathResult = document.evaluate( xpathExpression, contextNode, namespaceResolver, resultType, result );
// -xpathExpression: expresión que queremos buscar en el XML
// -contextNode: nodo padre del que dependerá la expresión (con document se puede acceder a todo)
// -namespaceResolver: null para html
// -resultType: constante que indica el tipo en que queremos recibir el resultado (FIRST... -> primer nodo del resultado
// -result: sirve para reutilizar el objeto xpathresult, con null uno nuevo
if (typeof context == "undefined") context = d;
var nodo = document.evaluate(this, context, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
if (typeof nodo == "undefined" || nodo == null) {
log("Nodo no encontrado: " + this);
nodo = null;
}
return nodo;
};
String.prototype.findNodes = function(context)
{
if (typeof context == "undefined") context = d;
return findNodes(context, this);
};
String.prototype.findNodesArray = function(context)
{
if (typeof context == "undefined") context = d;
return findNodesArray(context, this);
};
/*
Sustituye las cadenas {propiedad} en la cadena por la propiedad del objeto
*/
String.prototype.replaceObject = function(object)
{
var string = this;
for (var property in object) {
var value = object[property];
var regexpr = eval("/{" + property + "}/g");
string = string.replace(regexpr, value);
}
return string;
};
//Función sólo usada para ver cambios de almas gemelas
/**
* Returns the week number for this date. dowOffset is the day of week the week
* "starts" on for your locale - it can be from 0 to 6. If dowOffset is 1 (Monday),
* the week returned is the ISO 8601 week number.
* @param int dowOffset
* @return int
*/
Date.prototype.getWeek = function (dowOffset) {
/*getWeek() was developed by Nick Baicoianu at MeanFreePath: http://www.meanfreepath.com */
dowOffset = typeof(dowOffset) == 'int' ? dowOffset : 0; //default dowOffset to zero
var newYear = new Date(this.getFullYear(), 0, 1);
var day = newYear.getDay() - dowOffset; //the day of week the year begins on
day = (day >= 0 ? day : day + 7);
var daynum = Math.floor((this.getTime() - newYear.getTime() -
(this.getTimezoneOffset() - newYear.getTimezoneOffset()) * 60000) / 86400000) + 1;
var weeknum;
//if the year starts before the middle of a week
if (day < 4) {
weeknum = Math.floor((daynum + day - 1) / 7) + 1;
if (weeknum > 52) {
var nYear = new Date(this.getFullYear() + 1, 0, 1);
var nday = nYear.getDay() - dowOffset;
nday = nday >= 0 ? nday : nday + 7;
/*if the next year starts before the middle of
the week, it is week #1 of that year*/
weeknum = nday < 4 ? 1 : 53;
}
}
else {
weeknum = Math.floor((daynum + day - 1) / 7);
}
return weeknum;
};
var logged = isLogged();
//var userId = (logged) ? getUserId() : '';
var userId = getUserId();
var isAdmin = d.body.innerHTML.search(/\/es\/adm\/reviews_val\.php/ig) > -1;
var methodEncode = function(txt) {
return encodeURIComponent(txt);
};
var methodEscape = function(txt) {
return escape(txt.replace(/\s/g, '+'));
};
var _TFILM = 1;
var _TGEN = 2;
var _TDOWN = 3;
var _TSUB = 4;
var DIST_REGIONS = 0;
var DIST_CONTINENTS = 1;
var ANCHOR_AFTER = 1;
var ANCHOR_BEFORE = 2;
var NUM_SM = 20;
var debuglog = '<u><strong>INFORMACIÓN DE DEPURADO</strong></u>';
var XPATH_SML = '//table[@class="list2"]';
//http://www.iconarchive.com/category/funny/kidcons-icons-by-iconfactory.html
var ratingStyles = {
red: { name: 'Estrellas rojas', code: 'red', iconOn: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9gFFA4sOtCB5EwAAAJhSURBVDjLbdNNaJxVGAXg537zTWca8zOkdVBoU61dtCBBq4hVEcEYRFyIaFcSFDcuuigiXbjwN2ipC0E3IkVExYVEF9GFhYgt1Y0UFbGodVNUEgxpE2JIJpnMvC5yI7PwwuEuLueew/ueIyJsA8V+xav7pd/xMIZQQ+F/TkToJUPtJUM//OT6uFe5hKfRRB+qGfV8V5DKng/T1mNleLKY80J3YGhK5+0PrI12+XZEuumo2q2XrN/4ie6HeB+ttK2eUkpontS4xNLgKvrU7FG1oR2llA7oqKs6bHUax7FQZDIUu6Wxpug/quHlcyuGrfvOmgU70mRqKbUds9rFN7gG5bb1sql4YsqeufFCxN7bIiKiO9ONeKMT3bGLMVEV0wYCF/OAD2GwrEt3P6P/xXEDYxfMOZOOcPY8syEtEtfyzswRjTrT7Q6cx2pGuzhl4LNnHRx7Jc1arnTEV2e4rmCBWN+azw12u7pJY8vxP5ncwmZxwvLn7/q59VbsckunNH7/IA89RT82SH/z4JMXrOB2O5TchcgAw3i04NPn9a98RLxXijjXjRk3xwRxUi0OF2KyIh5T7+IE9mFnwk4M5I8e+Fjj1Lyl+gEjTpd/eG5zS6VQNaiqtM9Bv/yGx/GnHNNaju3II8qzrxETNfGjvXGPSvRJVwal+TtZG006mMUdaKaeFFZQb0ivf2/02Ly/3OeqlvgSU3l4NezCfF7nbJmTGCmlDjaWxa9LWia2yF/jdCYsYj0LdrdX2Rtl2cUhfIHLeDOT57CEdk93OminniZKKRW5bcPZqqy8iLWs/F+bEf8CaxrvLdIwvxgAAAAASUVORK5CYII=',
iconOff: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9gFFA4hJnEuxk4AAALqSURBVDjLbZNBSCNXHMZ/8+ZNMrGuKcYEQmpCacEuSCBGUOxhiaQXWVBphYJ3b+3Ncw8Fwfawh+KtB6U9ilDqofVSomsED/VQJRsqxiRiSRCNJiYzk5lMD51sPeyDDx7v8f2+B+//4boufQEimUx+m0wm/9Z1/SUQBPyA4B3Ldd3/LxRFQUqppdPpl/Pz8x9PT0//rGnaFx5EBzRAk1L296qiKIp8AlSEELqqqsNHR0ek0+lgJBL54eDgIOk4zmEsFvtofHw8VavVPszn8z+1Wq1NwHgKwAO8H4lEqFar6LoeWFpa+rrX630lhFCCwSCJRIJ8Pn8N/ArciP7zARGPx7NSysFUKsXa2ho+n49KpYJhGMr+/j4Ae3t7PcuyXgPvAVIq/7nVsbGxLxcWFr4/PDwUMzMzxGIxVldXubm5oVQqUavVMAyD09PTN5ZlFQAHcGQ0Gv00k8l8Mzo6mq1WqywvLzM7O0uz2cQwDAKBALlcDl3XKZVKdLvdA6DtqSsWFxd3pqamsrlcDtM0yWazDA4OYpomvV4PgKGhIVqtFoFAAKDpmQ3AVuv1+ieapj2fnJyUQgg2NzeJRqPE43EajQadTodwOMzx8TGJRIJisUin0/kduAMM9f7+/nWhUPjz5ORESyQS8XA47Lu4uGBiYoKtrS22t7epVCpcX1+jaRqRSOSDy8vLc8dxikBHAQLAM2DY7/d/trKy8t3Dw4MeCoU4OzsjlUoBIKVE13VUVWV9fb3YaDSWgKoETKAHmKZp/lIoFD4Ph8Mvzs/PyWQy7O7ucnV1dSuEcEZGRp7Ztu0Dhrxgn/TMVv9byuXyX3Nzcy8eHx/Z2NigVqv9Ztv2tuu6zXK57BdChIC6F+xKr0SuoigOYN3e3r5ptVrs7OxQr9f/sCzrR89w5ziO6TgOXmgbaCseoD+N6sDAwHNN03Zt275st9uvXNetA/8ADaD7ZPIdoPsW4EGE17xhIOQd33nqeMlv2wy4/wJOnkltDSAWfgAAAABJRU5ErkJggg==',
iconHalf: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9gFFA8tIUI9dtYAAAKsSURBVDjLbZNfiExhGMZ/7zfHnp05s2fraMa27DLYrJU/bWz+bDbiRkq0KxfccCv5U7IpNoQIcYmkpC3hAmWVskUhNf4sa0OLxWrHyDTGzpiZM58L32oufPX0XT3v8/S+z4PWmjEAqj4w/mBMqt8Cq4FqwAYU/3laa8rJAPYOd9HT50zTS5mSArYAUSAEjDOoNH8AkPIBAlR32os+drjou0T0Rmf+aCAQOK2UWh+JRDpbW1uvNDQ0PAG2AS5QIWPqIiJA9Chz3ryPZdy0pZj9boQ7S5spFotaRCQUCqGUoqen5wawHUgqQwZQjvJWREmFVzmTOHv5BZ/nTiWdTuM4jvT39+P7PvF4vAQ8ABzAsoxywCay4WJpxvFz9gN1qGEZ4QVBuo49Y9B9zODgIENDQ4gIiURiAHgN+ICvwF6yuarl9nUmXOqdMFyza/k25p28QOEL5FMQDofp7u6moqKCZDIJcB8YNSioE9a0610/wysOuC/57CmW7D+CFVXkk5DP/T2N53lks1mCwSDAT0POAUW1x39381RoJHcmXU/76w+sWRvmzY4urCoo5CGTydDe3k6pVMJxHERkMaAN/goA60Cu7aycmbkEunPedP29V+vDLft0Y2Ojbmtr0zU1Nbq5uVk3NTWVgN3AZCAYMENGgIcPi8n3HUxZ9lUVrPijAeIfTzJu6mxEhNraWlzXJRaLSV9fXz1wA/iFialtYlu/MjS5d69TpTdNRD+lUdfV1WnLsr7btp2IRqNZz/N8YBhoAaJiHIiJZmVIqo/06Vlbv/GJhXwDcj3AVbM8GxgPJIBXwLBlkqhFxAfyozo9kAI2qjSUcveA84bwA/htBEtjpyyPMsbFTOAW8AE4ZchfgRRQKCujDxSkrImIiDJt84xVjPIPIGuU/7UZ0H8AV94JRR0cbigAAAAASUVORK5CYII=' },
yellow: { name: 'Estrellas amarillas', code: 'yellow', iconOn: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACdUlEQVR42pVRW0gUYRT+/rmtq+stlIIy00mlB8MHKdSgoHwIQrrYQyEp+FIaUVg9FUpET6Iv2dKFLpAFGURPW0hCG2xQka5Blrcu3iHF1HV05p/5O4NbVNaCA9/858w5853/+w5DjId3tpbjbBWUduvh/3pYLAKrrbgXgddQb1q5Kybge9Usp4YN4AMHC0i6GuCfVkRgVmuNqDPrMETJba1Ru2+eWRlBvacfJyt1fLsG+D2DWtOi/k8C/uZeAWa7k/Hs8gJUvgbpcoITrxU5G+dqpcJHDMYeOC8VoQz7rtij8yExZEZgYIJNy5qYcKYY35VSKXLtZlFZlAzrOWDbDHmHGFIqAKebzLgBSB+Br5QGmcCYEGxGAl5I08LgxxnfqsUJjiqu203yAduLIrrXqtOAwinoo5+n6DSA8S6gk8IemtGhGRgVpxizbv3yYGGLmiN5RAD7uY4y+pCRR6/MJZsi74HgEJx2SoOePkeRd8e/nR9YZiIvVCTkqUHnvFGCbCLgq2n4NDBCUkiF7fcFvR1z22Nuwdin+uUa6yiyKZlzWQkkGYNEcD3O732yUPM3QRxBi8YiUiGF1cPOBkQoGyEohPVuhVb7QPviazU3/+x1t+0GiYQkQmpFGrKvlqNN3QHN6SDpYc8IFm0k5PO1UimwGFLMY232wbuTop/6XXdnf5egjJbgXFoB6vk4w3BYDeX2mw1uoVdHwzodxUoO8P2dtz49aFyKivvTg5l8KSxr0qbQJGsu/Wzdibrg9iQ9zcSRbT7phKMqPYldZsEyE6vToF5IZS1jNtoLB8Xj6AQnWnZt1F5loSxDZjtbIqL24tjSDX4AdFTzI/nnv+kAAAAASUVORK5CYII%3D',
iconOff: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9gFFA4bKl0xVBwAAAKOSURBVDjLlZJNaxNRFIbfeydzuTNpMhga8lULtUkp7aKBuhEXCrpQKUVE8B+00FqoG/+A4EZEhFJpd6XgSqjShYKrFtpFoSQgBiWRfoATJjiZmElnksnNxI2VLozSsz3PeThfEv4R+Xz+vizLY3t7e4VeTOA/gqeKogDAm14M7ZVYXFwcsm07rWlaemFhYejcAsbYPOec9PX1EcbY3LkFqqreHRsbQzAYhKIo93pxJJfLZU3T1HZ2dpqEkDjnPBgIBK5wzuenpqbI1tYWqtVqVwixbNv2bqPROOl0OoYQgrmuWw2sra1NBIPBF5OTk5phGPB9n4yPj5N0Oo1arYZwOAxKKXEcZ77Vas0pitIVQsA0zVqn03koZbPZr47jmLqu31QUhWmaRgYGBtBoNFCr1UApBeccjuNACEGEEMSyrKbneY8BvCans8zMzGQkSXqfTCaHk8kkYrEYVFUFAFiWhaOjIxiGAdM0i5TS26urq98AgJxdyOzsLA2Hw9sjIyNXE4kEGGNoNpsol8uwbRuHh4fbS0tL13peYWVlxfc875PrujAMAwcHB9B1Hd1uF4QQEEI+/+0TOQD2u5supfSW7/uwLAuu64JSClVVQQiBLMt3AIRPWQBeAIAMIATgQiaTuSRJUrLdbqNSqcCyrO9CCEQikVQsFoMkSYlMJnO9WCyWAFQBdCQAHgAbQHV6evpBKBS6YZomdF3fXV9ff5TP59+lUqnhdrt9kXMuxePxL/v7+28B1AG0pTPj+Nls9mWr1YocHx8/39jYeAKgDKBaKBQ+9vf3n1BKLwOI5nK55dOiP4LR0VE5Go1O1Ov1Z5ubm68AVADUAPwE8KNUKm0PDg4WCCGMMfahXC77APAL7BgSZ+fkffYAAAAASUVORK5CYII=',
iconHalf: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9gFFA8wOa49gpwAAAJ5SURBVDjLlZJPSBRhHIafb2Zn3NldW6mVtFUj/BN0qUAEkUioQ3UIqSACwUPQIfPQLbp0CLpERVAG4rVCIqqTgnhIRGrRFKOlWE1k0cXcP+bO7sp+38x0CCOCFfqdn/eBl/ens8upueeXcmb0SCwWi1ditN0E3uLTe5Zl3duNqShQPcYhLzzTEg6HWwYGBg79t8DdJ/ppKItQKCRM07z+/xUaRA/11wgGg1iWdaESJtTMi2PkF8JMPNnGUHXU6kE3YHa6LXa/1v5GjLzKkc1mPaXUYD6fn7Ztu+A4zrpSyiyVSlmhTtf0eW3OI6+vM4x8D44jOHxFUNML7gKj423Ytk2xWGRjY8MrlUqeUopMJrMppbzhI18c4SOWk554qF90LDqB0H5gFLQElnUU0zQpl8v4/X4hpRS5XK7kOM5tIcRrsdNlu8No1aq8US6oZs4DjYeBg0xN3SKXy7GyssL6+jqZTCahadrZoaGhJQDfjsAfkwnV7mtjxpp0z5a6fm+5jW3bpNNpXNelUChMDg8Pn6y4gm9GubKoPpMEkt8gMcna2hqe5yGEQAjx5d8VfIAfMAEBeG7QOaNL4BOwCplChkAggBACwzDOAXt2WKCsAQZQDTT2Rugm5B5gC9xxyL+sWk0kEqvJZBIpJbqu17e2tnYDUSAA6DpQBvJAduw4l6sPcErFBMkP5nTj5/LN+fn5d9FotFlK2ej3+/W6urqvs7Ozb4EtQOp/f++dGu2xl9L3Ti/pDzq+y7tACsjG4/HxSCRS0DStHaidm5sb3An9EVyNYHQZHF0uevdPLDvPgB/AJvATSC8uLk42NTXFhRCmaZpjqVTKBfgFwF0VMjiLGusAAAAASUVORK5CYII=' }
};
var img_plus = "http://www.imageconverterplus.com/img/tree-menu/signplus.gif";
var img_minus = "http://www.imageconverterplus.com/img/tree-menu/signminus.gif";
var redstar = "http://i60.tinypic.com/1zchfo4.png";
var closeimg = "http://www.buxo.org/content/fapp/icons/close.png";
var upimg = /*"http://neokben.host-ed.me/fa/src/arrowupfa.jpg";*/ "http://i46.tinypic.com/2cyp1s9.gif";
var upimg10 = "http://www.freeiconsweb.com/Icons/16x16_arrow_icons/arrow_17.gif";
var downimg = "http://i45.tinypic.com/2vdp3eb.gif";
var downimg10 = "http://cinemakb.freehostingcloud.com/src/arrow_1810.gif";
var logoimdb = "http://s3.subirimagenes.com:81/otros/previo/thump_7805471logoimdb2.jpg";
var newimg = "http://www.buxo.org/content/fapp/icons/new.png";
var upload_img = "data:image/gif;base64,R0lGODlhEAAQAPQAAPD09qUJCe3u8LQ8PcuCg6YNDa8rK%2BPO0NWkpaodHcd1dsJmZ%2Bfb3NGVlt%2B%2FwLpLS75XWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH%2FC05FVFNDQVBFMi4wAwEAAAAh%2FhpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh%2BQQJCgAAACwAAAAAEAAQAAAFUCAgjmRpnqUwFGwhKoRgqq2YFMaRGjWA8AbZiIBbjQQ8AmmFUJEQhQGJhaKOrCksgEla%2BKIkYvC6SJKQOISoNSYdeIk1ayA8ExTyeR3F749CACH5BAkKAAAALAAAAAAQABAAAAVoICCKR9KMaCoaxeCoqEAkRX3AwMHWxQIIjJSAZWgUEgzBwCBAEQpMwIDwY1FHgwJCtOW2UDWYIDyqNVVkUbYr6CK%2Bo2eUMKgWrqKhj0FrEM8jQQALPFA3MAc8CQSAMA5ZBjgqDQmHIyEAIfkECQoAAAAsAAAAABAAEAAABWAgII4j85Ao2hRIKgrEUBQJLaSHMe8zgQo6Q8sxS7RIhILhBkgumCTZsXkACBC%2B0cwF2GoLLoFXREDcDlkAojBICRaFLDCOQtQKjmsQSubtDFU%2FNXcDBHwkaw1cKQ8MiyEAIfkECQoAAAAsAAAAABAAEAAABVIgII5kaZ6AIJQCMRTFQKiDQx4GrBfGa4uCnAEhQuRgPwCBtwK%2BkCNFgjh6QlFYgGO7baJ2CxIioSDpwqNggWCGDVVGphly3BkOpXDrKfNm%2F4AhACH5BAkKAAAALAAAAAAQABAAAAVgICCOZGmeqEAMRTEQwskYbV0Yx7kYSIzQhtgoBxCKBDQCIOcoLBimRiFhSABYU5gIgW01pLUBYkRItAYAqrlhYiwKjiWAcDMWY8QjsCf4DewiBzQ2N1AmKlgvgCiMjSQhACH5BAkKAAAALAAAAAAQABAAAAVfICCOZGmeqEgUxUAIpkA0AMKyxkEiSZEIsJqhYAg%2BboUFSTAkiBiNHks3sg1ILAfBiS10gyqCg0UaFBCkwy3RYKiIYMAC%2BRAxiQgYsJdAjw5DN2gILzEEZgVcKYuMJiEAOwAAAAAAAAAAAA%3D%3D";
var download_img = "data:image/gif;base64,R0lGODlhEAAQAPQAAPD09hi7Q%2Bry8UbGaofXnxy7RjfDXM3q2abguCm%2FUnvVlW7Qitnu4pjdrcDnzVXKdWDNfwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH%2FC05FVFNDQVBFMi4wAwEAAAAh%2FhpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh%2BQQJCgAAACwAAAAAEAAQAAAFUCAgjmRpnqUwFGwhKoRgqq2YFMaRGjWA8AbZiIBbjQQ8AmmFUJEQhQGJhaKOrCksgEla%2BKIkYvC6SJKQOISoNSYdeIk1ayA8ExTyeR3F749CACH5BAkKAAAALAAAAAAQABAAAAVoICCKR9KMaCoaxeCoqEAkRX3AwMHWxQIIjJSAZWgUEgzBwCBAEQpMwIDwY1FHgwJCtOW2UDWYIDyqNVVkUbYr6CK%2Bo2eUMKgWrqKhj0FrEM8jQQALPFA3MAc8CQSAMA5ZBjgqDQmHIyEAIfkECQoAAAAsAAAAABAAEAAABWAgII4j85Ao2hRIKgrEUBQJLaSHMe8zgQo6Q8sxS7RIhILhBkgumCTZsXkACBC%2B0cwF2GoLLoFXREDcDlkAojBICRaFLDCOQtQKjmsQSubtDFU%2FNXcDBHwkaw1cKQ8MiyEAIfkECQoAAAAsAAAAABAAEAAABVIgII5kaZ6AIJQCMRTFQKiDQx4GrBfGa4uCnAEhQuRgPwCBtwK%2BkCNFgjh6QlFYgGO7baJ2CxIioSDpwqNggWCGDVVGphly3BkOpXDrKfNm%2F4AhACH5BAkKAAAALAAAAAAQABAAAAVgICCOZGmeqEAMRTEQwskYbV0Yx7kYSIzQhtgoBxCKBDQCIOcoLBimRiFhSABYU5gIgW01pLUBYkRItAYAqrlhYiwKjiWAcDMWY8QjsCf4DewiBzQ2N1AmKlgvgCiMjSQhACH5BAkKAAAALAAAAAAQABAAAAVfICCOZGmeqEgUxUAIpkA0AMKyxkEiSZEIsJqhYAg%2BboUFSTAkiBiNHks3sg1ILAfBiS10gyqCg0UaFBCkwy3RYKiIYMAC%2BRAxiQgYsJdAjw5DN2gILzEEZgVcKYuMJiEAOwAAAAAAAAAAAA%3D%3D";
var link_img = "data:image/jpeg;base64,%2F9j%2F4AAQSkZJRgABAQAAAQABAAD%2F2wBDAAkGBwgHBgkIBwgKCgkLDRYPDQwMDRsUFRAWIB0iIiAdHx8kKDQsJCYxJx8fLT0tMTU3Ojo6Iys%2FRD84QzQ5Ojf%2F2wBDAQoKCg0MDRoPDxo3JR8lNzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzc3Nzf%2FwAARCAAMAAwDASIAAhEBAxEB%2F8QAFgABAQEAAAAAAAAAAAAAAAAABQMG%2F8QAIhAAAgEDBAMBAQAAAAAAAAAAAQIDBBESAAUTIQYUMSNC%2F8QAFAEBAAAAAAAAAAAAAAAAAAAABP%2FEABwRAAIBBQEAAAAAAAAAAAAAAAECAwARMWGR8P%2FaAAwDAQACEQMRAD8A3u8b3NPUx%2ByVotuppZnnkSskVpER2itZVU5Fh0FYgf0PmmvGJOWGtdPcFOan8RVs7Oo448hdyT0%2BYPf0HU6rxmOpimhbcaxYJXmbjCQHDlLF8WMZYXzYfb2OntOnYJGFAzvd%2B0OEFnLE49yv%2F9k%3D";
var ratings = {
1: "Muy mala",
2: "Mala",
3: "Floja",
4: "Regular",
5: "Pasable",
6: "Interesante",
7: "Buena",
8: "Notable",
9: "Muy buena",
10: "Excelente"
};
var menus = {
0: {name:'SECCIONES EXTERNAS',anchor:'TOPs',cond:'SHOWSEMENU',
options: {0:{title: 'El Foro que surgió de FilmAffinity',
href:'http://filmaffinity.mforos.com',
target:'_blank'},
1:{title: 'Chat NO OFICIAL en iRC-Hispano',
href:'http://www.irc-hispano.es/webchat/flash.php?canal=filmaffinity',
target:'_blank'},
2:{title: 'El grupo de last.fm que surgió del foro que surgió de FilmAffinity',
href:'http://www.lastfm.es/group/El+grupo+que+surgi%C3%B3+del+foro+que+surgi%C3%B3+de+Filmaffinity',
target:'_blank'}
}
},
1: {name:'FilmAffinity++',anchor:'USUARIOS',position:ANCHOR_BEFORE,cond:'SHOWSCRIPTMENU',
options: {0: {title:'Panel de Configuración',href:'#',target:'',onclick:preferences},
1: {title:'Hilo Oficial FA++',href:'http://filmaffinity.mforos.com/1360515/9537533-filmaffinity-plus-disponible-vol-ii/#84559313',target:'_blank'},
2: {title:'Añadir motor busqueda',href:'#',target:'',onclick:installSearchEngine},
3: {title:'Información de depurado',href:'#',target:'',onclick:showLog}
}
},
2: {name:'Premios++', anchor:'INFORMACIÓN', position:ANCHOR_BEFORE,cond:'SHOWEXTRAPRIZES',
options: { 0: {title:'BAFTA', href:'#',target:'',onclick:showBAFTA},
1: {title:'Berlín', href:'#',target:'',onclick:showBerlin},
2: {title:'Cannes', href:'#',target:'',onclick:showCannes},
3: {title:'Cine Europeo', href:'#',target:'',onclick:showCineEuropeo},
//4: {title:'Críticos de NY', href:'#',target:'',onclick:showCriticosNY},
4: {title:'Emmy', href:'#',target:'',onclick:showEmmy},
5: {title:'Gijón', href:'#',target:'',onclick:showGijon},
6: {title:'Globos de Oro', href:'#',target:'',onclick:showGoldenGlobe},
7: {title:'Goya', href:'#',target:'',onclick:showGoya},
//8: {title:'Gotham', href:'#',target:'',onclick:showGotham},
8: {title:'Málaga', href:'#',target:'',onclick:showMalaga},
9: {title:'Razzie', href:'#',target:'',onclick:showRazzie},
//10: {title:'NBR', href:'#',target:'',onclick:showNBR},
10: {title:'San Sebastián', href:'#',target:'',onclick:showSS},
//12: {title:'Satellite', href:'#',target:'',onclick:showSatellite},
11: {title:'Sevilla', href:'#',target:'',onclick:showSevilla},
12: {title:'Sitges', href:'#',target:'',onclick:showSitges},
13: {title:'Spirit', href:'#',target:'',onclick:showSpirit},
14: {title:'Sundance', href:'#',target:'',onclick:showSundance},
15: {title:'Tribeca', href:'#',target:'',onclick:showTribeca},
16: {title:'Valladolid', href:'#',target:'',onclick:showValladolid},
17: {title:'Venecia', href:'#',target:'',onclick:showVenecia},
}
}};
// todo: modificar para no usar indices en esta lista de preferencias.
var preferencesOptions = {
//Opciones de Menus
0:{name:'SHOWSCRIPTMENU',text:'Mostrar el menú FilmAffinity++',def:true},
1:{name:'SHOWSEMENU',text:'Mostrar el menú Secciones Externas',def:true},
2:{name:'SHOWEXTRAPRIZES',text:'Mostrar el menú Premios II', def:true},
//Opciones de listas
3:{name:'FAVLISTS',text:'Activar Listas Favoritas',def:true},
4:{name:'SHOWQUICKLIST',text:'Mostrar icono para añadir rápidamente a listas',def:true},
5:{name:'FETCHFILMLISTS',text:'Mostrar las listas a las que pertenece la pelicula en el menú de listas rapidas',def:false},
6:{name:'MEDIALISTS',text:'Mostrar medias de votaciones en listas',def:true},
7:{name:'SHOWVOTESONFRIENDLISTS',text:'Mostrar mis votos en las listas de otros usuarios y en los resultados de búsquedas',def:true},
//Opciones de Mis Datos
8:{name:'FLAGSINMYDATA',text:'Mostrar banderas de países',def:true},
9:{name:'SHOWCLASIF',text:'Mostrar clasificaciones',def:true},
10:{name:'SHOWMFINDEXES',text:'Mostrar índices de votaciones',def:true},
11:{name:'SHOWYEARDATA',text:'Mostrar tabla de votos por años',def:false},
12:{name:'COUNTRYDISTS',text:'Mostrar tabla de votos por paises agrupados',def:false},
//Otras opciones
13:{name:'FLAGSINOPTIONS',text:'Mostrar banderas en desplegables de selección de país',def:true},
//14:{name:'FLAGSINFRIENDS',text:'Mostrar banderas en la lista de Amigos',def:true},
14:{name:'FLAGSCOPRODUCTIONS',text:'Mostrar banderas de coproducciones en fichas de películas',def:true},
//16:{name:'SHOWEXTRAGROUPS',text:'Mostrar votos de otros grupos en fichas de películas',def:true},
15:{name:'SHOWMYSTATS',text:'Mostrar mis estadísticas en estadísticas de otros', def:true},
16:{name:'SHOWEXTERNALS',text:'Mostrar enlaces externos en búsquedas', def:true},
17:{name:'SHOWEXTPAGES',text:'Mostrar información de otras páginas en fichas',def:true},
//Opciones de almas gemelas (No activas por el momento)
//2:{name:'SHOWSMCHANGES',text:'Mostrar cambios en las almas gemelas.',def:true},
//3:{name:'SHOWSMFALLEN',text:'Mostrar las almas gemelas caidas de la lista.',def:true},
//4:{name:'KEEPSMCHANGES',text:'Mantener los cambios en las almas gemelas mientras no se produzcan nuevos cambios.',def:true},
//7:{name:'OMITTVSHOWS',text:'Ocultar series de TV (experimental)',def:false},
//12:{name:'ENABLEVOTES',text:'Permitir votar desde mis listas, listas de otros usuarios y resultados de busqueda',def:true},
//13:{name:'CENTERPAGE',text:'Centrar pagina en la ventana del navegador',def:false},
//14:{name:'FOLDMENUS',text:'Permitir plegar los menús',def:false},
//15:{name:'SEARCHFORLIST',text:'Añadir buscar en listas',def:true},
//22:{name:'COMPACTVOTES',text:'Notas compactas',def:true},
18:{name:'CHANGELIMIT',text:'Cambiar el n° de peliculas a mostrar en Recomendaciones y TOP',def:false}
//
};
var sections = {
MyFriends:'/myfriends2\\.php/ig',
Stats:'/userrep\\.php\\?user_id\\=/ig',
UserRatting:'/userratings\\.php\\?user_id\\=/ig',
Film:'/\\/film/ig',
Search:'/\\/search\\.php/ig',
MyData:'/\\/mydata\\.php/ig',
TopGen:'/\\/topgen\\.php/ig',
AdvSearch:'/\\/advsearch\\.php/ig',
SoulMates: '/\\/soulmates\\.php/ig',
MyLists:'/\\/mylists\\.php/ig',
MyList:'/\\/mylist\\.php/ig',
Tour:'/\\/tour\\.php/ig',
SoulMatesRec:'/\\/smsrec\\.php/ig',
UserRec: '/\\/userrec\\.php/ig',
UserList: '/\\userlist\\.php/ig',
UserLists: '/\\userlists\\.php/ig',
UserReviews: '/\\/userreviews/ig',
MyVotes: '/\\/myvotes\\.php/ig',
AutoTour:'/\\/autotour\\.php/ig',
EditMovieList: '/\\edtmovielists\\.php/ig',
UptMyData: '/\\updmydata\\.php/ig',
Topics: '/movietopic\\.php\\?topic\\=/ig',
IMDBLists: '/\\/list/ig',
AddMovie:'/\\/addmovie\\.php/ig',
Reviews:'/reviews/g'
};
var patches = {
// Añade el icono para añadir a listas favoritas (IMDB)
addAddToFavListsIMDB:{browser:['FF'],sections:['IMDBLists'],method:doAddToFavListsIMDB,preference:'FAVLISTS',def:true},
// Centrar la página en la ventana del navegador
centerPage:{browser:['FF','OP'],preference:'CENTERPAGE',def:false,method:doCenterPage},
// Añadir menús a las opciones
addMenus:{browser:['FF'],method:doMenus},
// Redirigir en caso de que la busqueda de 0 resultados
//redirectSearch:{browser:['FF'],sections:['Search'],method:doRedirectSearch},
// Captura el valor de UCD, usado para subir votos
captureUCD:{browser:['FF'],sections:['AutoTour'],method:doCaptureUCD},
// Copia la configuraciones desde monousuario al usuario actual
// updateFromMonoUser:{logged:true,preference:'MUMP',def:true,browser:['FF'],method:doUpdateMultiuser},
// Registra los comandos GM
registerCommands:{browser:['FF'],method:doRegisterCommands},
// Estilo de las puntuaciones
changeRatingStyle:{browser:['FF'],method:doRatingStyle},
// Cambios en la lista de amigos
friendsRatingChange:{browser:['FF'],sections:['MyFriends'],method:doFriendsRatingChange},
// Añade enlaces en la lista de amigos
//friendsLinks:{browser:['FF'],sections:['MyFriends'],method:addFriendsLinks},
// Enlaces Externos
externalLinks:{browser:['FF','OP'],sections:['Film','Search'],method:doExternalLinks},
//Añade enlaces en fichas para guion, musica, ...
addOtherLinksInFilms:{browser:['FF'],sections:['Film'],method:doAddOtherLinks},
//Cambia aspecto críticas
changeStyleReviews:{browser:['FF'],sections:['Reviews'],method:doChangeStyleReviews},
// Cambios en almas gemelas
//soulMatesChanges:{browser:['FF'],sections:['SoulMates'],preference:'SHOWSMCHANGES',def:true,method:doSoulMates},
// Ordenación de las peliculas de una lista
//sortFilmsInList:{browser:['FF'],sections:['MyList'],method:doSortFilmsInList},
// Captura los nombres de nuestras listas
//captureLists:{browser:['FF'],sections:['MyLists'],method:doCaptureLists},
// Add External link to myLists
addExternalLinkMyLists:{browser:['FF'],sections:['MyLists'],method:doAddExternalLinkLists},
// Añade link para vaciar lista temporal y mostrar panel configuracion
addLinkEmptyWorkList:{browser:['FF'], method:doAddLinkEmptyWorkList},
// Añade funcionalidad para rellenar automaticamente fichas a partir de IMDB
addDataFromIMDB:{browser:['FF'], sections:['AddMovie'], method:doAddDataFromIMDB},
// Añade votos de contactos adicionales en las fichas de las peliculas
//addExtraVotes:{browser:['FF'],sections:['Film'],method:doAddExtraVotes,preference:'SHOWEXTRAVOTES',def:true},
// Añade notas de otras páginas
addExtraRatings:{browser:['FF'],sections:['Film'],method:doAddExtraRatings,preference:'SHOWEXTPAGES',def:true},
// Añade las listas favoritas a la pagina de Mis Listas
addFavLists:{browser:['FF'],sections:['MyLists'],method:doAddFavLists,preference:'FAVLISTS',def:true},
// Cambiar el color de los votos en Mis Listas
changeColorVotesLists:{browser:['FF'],preference:'CHANGECOLORVOTES',sections:['MyList'],method:dochangeColorVotesLists,def:true},
// Añade el icono para añadir a listas favoritas
addAddToFavLists:{browser:['FF'],sections:['UserLists'],method:doAddToFavLists,preference:'FAVLISTS',def:true},
// Añadir rapidamente a lista
//quickList:{logged:true,browser:['FF'],sections:['UserList','AdvSearch','MyList','Film','Tour','SoulMatesRec','UserRec','MyVotes','AutoTour','UserRatting','TopGen','Search'],preference:'SHOWQUICKLIST',def:true,method:doQuickList},
// Muestra nuestra puntuación en listas que no lo incorporan de serie
showVote:{logged:true,browser:['FF'],preference:'SHOWVOTESONFRIENDLISTS',def:true,sections:['Search','UserList','Topics','AdvSearch','UserRatting'],method:doShowVote},
//Mostras medias de votaciones de listas
addMediaInLists:{browser:['FF'],sections:['MyList','UserList'],method:doAddMediaInLists},
// Nos permite votar en listas ajenas, nuestras listas, ##NO FUNC##
//enableVotes:{logged:true,browser:['FF'],preference:'ENABLEVOTES',def:true,sections:['MyList','Search','UserList'],method:doEnableVotes},
// Edita el control de busqueda tras buscar
processSearch:{browser:['FF'],sections:['Search'],method:doProcessSearch},
// Añade banderas a la lista de amigos
//addFlagsToFriends:{browser:['FF','OP'],preference:'FLAGSINFRIENDS',def:true,sections:['MyFriends'],method:doAddFlagsToFriends},
// Añade banderas a las opciones de los combo box de paises
addFlagsToOptions:{browser:['FF'],preference:'FLAGSINOPTIONS',def:true,sections:['TopGen','AdvSearch','UptMyData'],method:doAddFlagsToOptionsSel},
// Añade las banderas a las estadisticas de 'mis datos'
addFlagsMyData:{browser:['FF','OP'],preference:'FLAGSINMYDATA',def:true,sections:['MyData'],method:doAddFlagsMyData},
// Banderas de coproductoras
addCoproductionFlags:{browser:['FF','OP'],preference:'FLAGSCOPRODUCTIONS',def:true,sections:['Film'],method:doAddCoproductionFlags},
// Añade estadisticas adicionales en myData
doMyDataMod:{browser:['FF','OP'],sections:['MyData'],method:doMyDataMod},
// Añade clasificaciones en myData
addClasif:{browser:['FF'],preference:'SHOWCLASIF',sections:['MyData'],method:doAddClasif,def:true},
// Captura las puntuaciones de las criticas, para analizar
captureReviews:{browser:['FF'],sections:['Reviews'],method:doCaptureReviews},
// Cambia el nº de resultados en los listados de TOPs ##NO FUNC##
//alterLimits:{browser:['FF','OP'],method:doAlterLimits,preference:'CHANGELIMIT',def:true},
// Modifica los titles de las imagenes para que coincidan con el alt
alt2Title:{browser:['FF','OP'],method:doAlt2Title},
// Corrige los enlaces a la web inglesa
fixEnglishLinks:{browser:['FF','OP'],method:doFixEnglishLink},
// Corrige la posición del icono de zoom al centrar la página
//fixZoomIcon:{browser:['FF','OP'],sections:['Film'],method:doFixZoomIcon},
// TODO: Aplicar esto al resto de paginas del usuario
// Captura los datos de los nuevos Contactos
//captureContactData:{browser:['FF'],sections:['UserRatting'],method:doCaptureContactData,preference:'ADITIONALFRIENDS',def:true},
//Compactar generos, paises, y años en estadísticas
//addCompactCountries:{browser:['FF'],sections:['Stats'],method:doAddCompactCountries,def:true},
//Compactar topics
//addCompactTopics:{browser:['FF'],sections:['Topics'],method:doAddCompactTopics,def:true},
//Añade nuestras estadísticas en las páginas de estadísticas de otros usuarios
//addMyStatsToOthers:{browser:['FF'],sections:['Stats'],method:doAddMyStatsToOthers,preference:'SHOWMYSTATS',def:true},
// Compacta votos para copiar y pegar
//addCompactVotes:{browser:['FF'],sections:['UserRatting'],method:doAddCompactVotes,preference:'COMPACTVOTES',def:true},
// Add Search for lists
//addSearchForListsOption:{browser:['FF'],method:doAddSearchListsOption,preference:'SEARCHFORLIST',def:true}
};
var linkSitesTypes = {
1:{caption:'Ficha en: ',preference:'verCine'},
2:{caption:'Buscar en: ',preference:'verGeneral'},
3:{caption:'Descargar de: ',preference:'verDescargas'},
4:{caption:'Subtítulos en: ',preference:'verSubtitulos'}
};
var linkSites = {
abandomoviez : { name: 'Abandomoviez',
icon: 'http://www.abandomoviez.net/favicon.ico',
search: 'http://www.abandomoviez.net/db/busca_titulo_o.php?busco2=%searchvo',
method: methodEscape,
type: _TFILM
},
aullidos : { name: 'Aullidos',
icon: 'http://www.aullidos.com/imagenes/scream-16.ico',
search: 'http://www.aullidos.com/buscador.asp?txtBusqueda=%searchtr',
method: methodEncode,
type: _TFILM
},
cineol : { name: 'CINeol',
icon: 'http://www.cineol.net/favicon.ico',
search: 'http://www.cineol.net/multisearch.php?fan=1&where=movies&search=%searchvo',
method: methodEscape,
type: _TFILM
},
cinepatas : { name: 'Cinépatas',
icon: 'http://www.cinepatas.com/favicon.ico',
search: 'http://www.cinepatas.com/forum/searcher.php?search_keywords=%searchtr&easy_search=titles',
method: methodEscape,
type: _TFILM
},
imdb : { name: 'IMDb',
icon: 'http://www.imdb.com/favicon.ico',
search: 'http://www.imdb.com/find?q=%searchvo',
method: methodEncode,
type: _TFILM
},
labutaca : { name: 'La Butaca',
icon: 'http://www.labutaca.net/favicon.ico',
search: 'http://www.google.com/custom?q=%searchvo&sa=Buscar+en&sitesearch=www.labutaca.net&q=&domains=www.labutaca.net',
method: methodEncode,
},
mrskin : { name: 'Mr. Skin',
icon: 'http://www.mrskin.com/favicon.ico',
search: 'http://www.mrskin.com/search/search?term=%searchvo',
method: methodEscape,
type: _TFILM
},
myanimelist : { name: 'MyAnimeList',
icon: 'http://cdn.myanimelist.net/images/faviconv5.ico',
search: 'http://myanimelist.net/anime.php?q=%searchanm',
method: methodEscape,
type: _TFILM
},
rotten : { name: 'Rotten Tomatoes',
icon: 'http://www.rottentomatoes.com/favicon.ico',
search: 'http://www.rottentomatoes.com/search/full_search.php?search=%searchvo',
method: methodEscape,
type: _TFILM
},
yahoo : { name: 'Yahoo! Movies',
icon: 'http://movies.yahoo.com/favicon.ico',
search: 'http://movies.yahoo.com/mv/search?p=%searchvo&x=0&y=0&fr=ush-movies&toggle=1&cop=&ei=UTF-8',
method: methodEscape,
type: _TFILM
},
wikipedia : { name: 'Wikipedia',
icon: 'http://en.wikipedia.org/favicon.ico',
search: 'http://en.wikipedia.org/wiki/Special:Search?search=%searchvo&go=Go',
method: methodEncode,
type: _TGEN
},
wikipediaES : { name: 'Wikipedia ES',
icon: 'data:image/x-icon;base64,AAABAAEAEBAAAAEACABoBQAAFgAAACgAAAAQAAAAIAAAAAEACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAgQAGRgZACgoKAAAAP8APDo8AEhHSABXWFcAaWppAHp7egCEg4QAmJiYAKmoqQC5urkAyMfIANjZ2ADp6OkAAP//APz9/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEREREREREREREQMDAwMDAxERERERDA0REREDAwMDAwMREREREQUFDhEREBAQEBAQEREREQsCAgsRDBAQEBAQEBEREREJBAgLDggDAwMDAwMRERERAgYPCwcEAwMDAwMDERERCQALEQ4EAgwRCgoREREREQUFDhEOBAUREQ4IEREREQwBCRERCgAGEREPCQwREREGAQ0RDgUCCQsREQwLEREOAQcPEQoBCw0HEREPBxERCQIMEREFAg4PCQoRDwcKDAYFDBELBQgOEQgGDg4HBhEREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=',
search: 'http://es.wikipedia.org/w/index.php?title=Especial:Search&search=%searchvo&go=Go',
method: methodEncode,
type: _TGEN
},
google : { name: 'Google',
icon: 'http://www.google.es/favicon.ico',
search: 'http://www.google.es/search?q=%searchvo',
method: methodEncode,
type: _TGEN
},
allzine : { name: 'AllZine',
icon: 'data:image/x-icon;base64,AAABAAEAEBAAAAEACABoBQAAFgAAACgAAAAQAAAAIAAAAAEACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIB7sACgm3AAoKtAAMDasACwuzAA0NrQAPDqoADQ6sABEPqAAMDLQADw+pAA8QpgAREKYAERGjAA8QqAAUEqEAEhKiABITnwAUE58AFBScABQUngAWFZoAFBaYABYVmwAWFpgAGBeVABYXlwAYGJQAFhiVABoYlAAaGZEAFxeZABoajgAaGpAAGhuNABkYmAAbGZQAGxyKAB0dhwAaHIwAHx2HABsdiQAdHYkAHR6GAB0fhQAiIX0AHB6KACEgggAhIX8AIiJ8ACgobgApKHAAMTDTADAw1gAxMtAAMzTKADU0ygAyMtIANzfBADU1yQA4NsUANjfFADg4wgA6Ob4AODm/ADY5wAA6OrwAPDu5ADc5wwA+PLcAOzq/ADo8uQA/PbQAPj21AD4+sgA8PbcAPD60AD4+tAA/PbgAQ0KpAENDpwBFRKQARkWhAEVEpgBGR58ASEmaAEpKmABRUIgAUlL4AFRU9ABUVfMAWFftAF9d3wBfXtwAYV/aAGFh1wBiYtQAZGTOAGZlzABmZc0AaGfHAGhnyQBoaMYAZmjHAGhpwwBpasAAaWrCAGtsvQBtbbkAcXKvAHR1qAByc7AAeXigAIGD/wCMiu4AjIvtAJGR3QCTk9kAlZbTAJ2fvgCrrf8Ara7/ALa2/wC5uP8AuLn/ALm8/wC9vv8Av77/AL+//wC/wP8AwMH/AMLC/wDCw/8AxMP/AMXE/wDGxf8Axsb/AMjG/wDGx/8AyMf/AMjI/wDJyv8Az876ANLT7wDU0/8A1tX/ANjZ/wDc2v8A3Nz/AN3e/wDf3v8A39//AOHg/wDj4v8A5OX/AOXm/wDm5v8A5uf/AOjn/wDq6P8A6On/AOrp/wDq6v8A7Oz/AOzt/wDt7f8A7e7/AO/u/wDv7/8A7/D/APDw/wDx8P8A8fH/APHy/wDz8v8A8/P/APT0/wD09v8A9vb/APb3/wD49/8A+Pj/APj5/wD6+f8A+vr/APv7/wD8/f8A/f3/AP/+/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtoxUgFNig6+5ury7sYRodrKCImEqICZsrLa3r3UqKTKygSaIpXQwHmGoqGIeKmuOsYArja6onEYUfmcYQn+ks7GALoaoqKB7EAYMTpmhqrWtfidpbGtmYD0AAV1ka293in0hUCoRDRkXBAIPIxwsVzFxH36WNAmSegNYkD4UlacqBQyFnjsFlHwLWZFDIZqwTwQGiaVDDUpMDDY8JC+jtocKCIurZUtHQQY5OEVWr7mrQhKFo5lJFHkGWjY/m664sHIdY5iTOg54W3k1N5eisLSfKEgbGhMMDRoWBwslM3C3plIeXF9NFV5qZkRAaW6PubBtLXOcVS2dqaZRUaaxuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA%3D',
search: 'http://www.allzine.org/Foro/index.php?action=search2&search=%searchtr&subject_only=1',
method: methodEncode,
regreq: true,
type: _TDOWN
},
argenteam : { name: 'aRGENTeaM',
icon: 'http://www.argenteam.net/static/images/favicon.ico',
search: 'http://www.argenteam.net/search',
method: methodEncode,
regreq: true,
type: _TDOWN
},
asiatorrents : { name: 'AsiaTorrents',
icon: 'http://www.asiatorrents.me/favicon.ico',
search: 'http://www.asiatorrents.me/index.php?page=torrents&search=%searchvo',
method: methodEncode,
type: _TDOWN
},
cineclasico : { name: 'Cine-Clásico',
icon: 'http://www.cine-clasico.com/favicon.ico',
search: 'http://www.cine-clasico.com/foros/search.php?keywords=%searchvo&terms=all&author=&sc=1&sf=firstpost&sr=posts&sk=t&sd=d&st=0&ch=300&t=0&submit=Buscar',
method: methodEncode,
regreq: true,
type: _TDOWN
},
cinemageddon : { name: 'Cinemageddon',
icon: 'http://cinemageddon.net/favicon.ico',
search: 'http://cinemageddon.net/browse.php?search=%searchvo',
method: methodEncode,
regreq: true,
type: _TDOWN
},
clansa : { name: 'Clan-Sudamérica',
icon: 'http://www.clan-sudamerica.net/invision/favicon.ico',
search: 'http://www.clan-sudamerica.net/invision/index.php?act=Search&CODE=show&searchid=827b042d37e3387690c2085b3dc9e1f5&search_in=posts&result_type=topics&highlite=%searchtr',
method: methodEncode,
regreq: true,
type: _TDOWN
},
divxclasico : { name: 'DivX Clásico',
icon: 'http://www.divxclasico.com/favicon.ico',
search: 'http://www.divxclasico.com/foro/search.php?search_keywords=%searchvo&highlight=%searchvo',
method: methodEncode,
regreq: false,
type: _TDOWN
},
eutorrents : { name: 'EuTorrents',
icon: 'http://eutorrents.ph/favicon.ico',
search: 'http://eutorrents.ph/index.php?page=torrents&search=%searchvo',
method: methodEncode,
type: _TDOWN
},
fileheaven : { name: 'fileheaven',
icon: 'http://www.fileheaven.com/favicon.ico',
search: 'http://www.fileheaven.org/forum/search.php?mode=results&search_keywords=%searchvo&search_terms=all&search_author=&search_forum=-1&search_time=0&search_fields=subjonly&search_cat=-1&sort_by=0&sort_dir=DESC&show_results=topics&return_chars=200',
method: methodEncode,
regreq: true,
type: _TDOWN
},
isohunt : { name: 'isoHunt',
icon: 'http://isohunt.com/favicon.ico',
search: 'http://isohunt.com/torrents/%searchvo?ihs1=2&iho1=d&iht=1',
method: methodEncode,
type: _TDOWN
},
karagarga : { name: 'Karagarga',
icon: 'http://karagarga.net/favicon.ico',
search: 'https://karagarga.net/browse.php?search=%searchvo&search_type=title',
method: methodEncode,
regreq: true,
type: _TDOWN
},
kickass : { name: 'KickAss Torrents',
icon: 'http://kastatic.com/images/favicon.ico',
search: 'http://kickass.to/usearch/%searchvo',
method: methodEncode,
type: _TDOWN
},
mcanime : { name: 'MCAnime',
icon: 'http://www.mcanime.net/favicon.ico',
search: 'http://www.mcanime.net/busqueda/google?cx=007892940784097042092:uruccpok3vu&cof=FORID:11&q=%searchvo',
method: methodEncode,
regreq: true,
type: _TDOWN
},
mininova : { name: 'Mininova',
icon: 'http://www.mininova.org/favicon.ico',
search: 'http://www.mininova.org/search/%searchvo/4',
method: methodEncode,
type: _TDOWN
},
patio : { name: 'Patio de Butacas',
icon: 'http://www.patiodebutacas.org/foro/favicon.ico',
search: 'http://www.patiodebutacas.org/foro/search.php?query=%searchvo&exactname=0&starteronly=0&forumchoice[]=0&prefixchoice[]=&childforums=1&titleonly=0&showposts=0&searchdate=0&beforeafter=after&sortby=lastpost&sortorder=descending&replyless=0&replylimit=0&searchthreadid=0&saveprefs=1&quicksearch=0&searchtype=1&nocache=0&ajax=0&userid=0&',
method: methodEncode,
regreq: true,
type: _TDOWN
},
piratebay : { name: 'The Pirate Bay',
icon: 'http://thepiratebay.cr/favicon.ico',
search: 'http://thepiratebay.cr/search/%searchvo/0/99/200',
method: methodEncode,
type: _TDOWN
},
taringa : { name: 'Taringa!',
icon: 'http://o1.t26.net/img/thumbt-es-v5.jpg',
search: 'http://www.taringa.net/buscador/?q=%searchvo&categoria=13&sort_by=0&autor=',
method: methodEncode,
type: _TDOWN
},
opensubtitles : { name: 'OpenSubtitles',
icon: 'http://static.opensubtitles.org/favicon.ico',
search: 'http://www.opensubtitles.com/es/search2/sublanguageid-spa/moviename-%searchvo',
method: methodEncode,
type: _TSUB
},
subdivx : { name: 'SubDivX',
icon: 'http://www.subdivx.com/favicon.ico',
search: 'http://www.subdivx.com/index.php?buscar=%searchvo&accion=5&subtitulos=1&realiza_b=1',
method: methodEscape,
type: _TSUB
},
titles : { name: 'titles.box.sk',
icon: 'data:image/gif;base64,R0lGODlhEAAQAKEAAAAAAIfb9a7b9QAAACH5BAEKAAMALAAAAAAQABAAAAJOhI95wu18RJi0TmFEUCgIIwTcEQiGEBiTMRmBYAiBMRmTEQiGYBmWYHgEDIGH4REwBB4Gx8QwcRgcAUTAYXAEEAGHwWEJOA6PsmCEBhQAADs%3D',
search: 'http://titles.box.sk/index.php?z3=%searchvo&rad1=an&aka=1&alt=1&jaz=9&z=datum+desc&days=0&pid=subt2&p=as&cas=1215777572&bt1=ADVANCED+SEARCH',
method: methodEscape,
type: _TSUB
},
daleya: {name: 'DaleYA',
icon: 'http://www.daleya.com/Images/icons/cur.gif',
search: 'http://www.daleya.com/?query=%searchvo{OPTIONS}',
method:methodEscape,
type: _TDOWN,
options: {1:{name:'Megaupload',text:'megaupload.com'},
2:{name:'Badongo',text:'badongo.com'},
3:{name:'Rapidshare',text:'rapidshare.com'},
4:{name:'Mediafire',text:'mediafire.com'},
5:{name:'Gigasize',text:'gigasize.com'},
6:{name:'SeriesYonkis',text:'seriesyonkis.com'},
7:{name:'FileFactory',text:'filefactory.com'},
8:{name:'FileFront',text:'filefront.com'},
9:{name:'PeliculasYonkis',text:'peliculasyonkis.com'},
10:{name:'TurboUpload',text:'turboupload.com'},
11:{name:'Multiply',text:'multiply.com'},
12:{name:'SendSpace',text:'sendspace.com'}
} ,
getOptions:function() {
var tmp = "";
for (opt in this.options) {
var option = this.options[opt];
if (getPreference(this.name + ".opt." + option.name, true)) {
tmp += "&daleyaid[]=" + opt;
}
}
return tmp;
}
}
};
function $id(v) {
return(d.getElementById(v));
}
/*
getElementsByClassName
Written by Jonathan Snook, http://www.snook.ca/jonathan
Add-ons by Robert Nyman, http://www.robertnyman.com
*/
function getElementsByClassName(oElm, strTagName, strClassName) {
var arrElements = (strTagName == "*" && oElm.all) ? oElm.all : oElm.getElementsByTagName(strTagName);
var arrReturnElements = new Array();
strClassName = strClassName.replace(/\-/g, "\\-");
var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
var oElement;
for (var i = 0; i < arrElements.length; i++) {
oElement = arrElements[i];
if (oRegExp.test(oElement.className)) {
arrReturnElements.push(oElement);
}
}
return (arrReturnElements);
}
function formatDate(fDate) {
if (typeof fDate != 'undefined') {
var yyyy = fDate.getFullYear();
var m = fDate.getMonth() + 1;
var d = fDate.getDate();
var h = fDate.getHours();
var n = fDate.getMinutes();
var nn = n < 10 ? "0" + n : n;
var s = fDate.getSeconds();
var ss = s < 10 ? "0" + s : s;
return d + "/" + m + "/" + yyyy + " a las " + h + ":" + nn + ":" + ss;
} else {
return "";
}
}
function deFormatDate(cadena) {
var date = new Date();
var dia = cadena.split('/')[0];
var mes = cadena.split('/')[1];
var anio = cadena.split('/')[2].split(" ")[0];
var hora = cadena.split(' ')[3].split(":")[0];
var minuto = cadena.split(':')[1];
var segundo = cadena.split(':')[2];
date.setFullYear(anio, mes - 1, dia);
date.setHours(hora, minuto, segundo, 0);
return date;
}
function inArray(a, property, value) {
if (property != "") property = "." + property;
for (var ix in a) {
var v = eval('a[' + ix + ']' + property);
if (typeof v != "undefined") {
if (v == value) return ix;
}
}
return false;
}
function inArray2(a, property, value, p2, value2) {
if (property != "") property = "." + property;
if (p2 != "") p2 = "." + p2;
for (var ix in a) {
var v = eval('a[' + ix + ']' + property);
var v2 = eval('a[' + ix + ']' + p2);
if (typeof v != "undefined") {
if (v == value && value2 == v2) return ix;
}
}
return false;
}
function arrayReplace(a, property, obj) {
for (var ix in a) {
var v = eval('a[' + ix + '].' + property);
var value = eval("obj." + property);
if (typeof v != "undefined") {
if (v == value) {
a[ix] = obj;
}
}
}
return a;
}
function findNodes(context, xpath) {
return d.evaluate(xpath, context, null, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null);
}
function findNodesArray(context, xpath) {
var nodes = [];
var node;
var iterator = findNodes(context, xpath);
while ((node = iterator.iterateNext()) != null) {
nodes.push(node);
}
return nodes;
}
function replaceAll( text, busca, reemplaza ){
while (text.toString().indexOf(busca) != -1)
text = text.toString().replace(busca,reemplaza);
return text;
}
function doPost(url, data, cb) {
GM_xmlhttpRequest({
method: "POST",
url: url,
headers:{'Content-type':'application/x-www-form-urlencoded'},
data:encodeURI(data),
onload: function(xhr) {
cb(xhr.responseText);
},
onerror: function (details) {
log("Error en el Post");
log(" Status: " + details.status);
log(" Status Text: " + details.statusText);
log(" Response headers: " + details.responseHeaders);
log(" Response Text: " + details.responseText);
}
});
}
function doGet(url, cb) {
GM_xmlhttpRequest({
method: "GET",
url: url,
onload: function(xhr) {
cb(xhr.responseText);
}
});
}
function log(msg) {
debuglog += '<br/>' + msg;
// Si tenemos Firebug -->
// if(unsafeWindow.console){
// unsafeWindow.console.log(msg);
// } else {
GM_log(msg);
// }
}
function setPreference(name, value) {
GM_setValue(userId + '.cfg.' + name, value);
}
function getPreference(name, def) {
def = (typeof def == "undefined") ? false : def;
var r = GM_getValue(userId + '.cfg.' + name);
return (typeof r == "undefined") ? def : r;
}
function getValues(start) {
var result = new Array();
var values = GM_listValues();
for (ix in values) {
var name = values[ix];
if (name.indexOf(start) == 0) {
result.push(name.substr(start.length));
}
}
return result;
}
function deleteValues(start) {
var values = GM_listValues();
for (var ix in values) {
var name = values[ix];
if (name.indexOf(start) == 0) {
GM_deleteValue(name);
}
}
}
function showLog() {
GM_addStyle('#backgroundLayer { width: 100%; height: 100%; background-color: black; position: fixed; left: 0; right: 0; top: 0; bottom: 0; opacity: .7; }');
GM_addStyle('#board { color: black; background-color: #def; text-align: left; border: 4px solid gray; width: 50%; height: 70%; opacity: 1; margin: auto; position: fixed; left: 0; right: 0; top: 0; bottom: 0; overflow: auto; }');
var background = d.createElement('DIV');
background.id = 'backgroundLayer';
var board = d.createElement('div');
board.id = 'board';
board.innerHTML = '<code>' + debuglog + '</code>';
d.body.appendChild(background);
d.body.appendChild(board);
$id("backgroundLayer").addEventListener("click", hideLog, true);
}
function hideLog() {
d.body.removeChild($id('board'));
d.body.removeChild($id('backgroundLayer'));
}
function showBAFTA(){
var anio = prompt('Año (1948-2013)');
var aux = parseInt(anio);
if(aux > 1947 && aux < 2014)
location.href = "http://www.filmaffinity.com/es/awards.php?award_id=bafta&year=" + aux;
}
function showBerlin(){
var anio = prompt('Año (1951-2013)');
var aux = parseInt(anio);
if(aux > 1950 && aux < 2014)
location.href = "http://www.filmaffinity.com/es/awards.php?award_id=berlin&year=" + aux;
}
function showCannes(){
var anio = prompt('Año (1939-2013)');
var aux = parseInt(anio);
if(aux > 1945 && aux < 2014 && aux != 1948 && aux != 1950 && aux != 1968 || aux == 1939)
location.href = "http://www.filmaffinity.com/es/awards.php?award_id=cannes&year=" + aux;
}
function showCineEuropeo(){
var anio = prompt('Año (1988-2012)');
var aux = parseInt(anio);
if(aux > 1987 && aux < 2013)
location.href = "http://www.filmaffinity.com/es/awards.php?award_id=european&year=" + aux;
}
function showGijon(){
var anio = prompt('Año (1994-2012)');
var aux = parseInt(anio);
if(aux > 1993 && aux < 2013)
location.href = "http://www.filmaffinity.com/es/awards.php?award_id=gijon&year=" + aux;
}
function showEmmy(){
var anio = prompt('Año (1949-2013)');
var aux = parseInt(anio);
if(aux > 1948 && aux < 2014)
location.href = "http://www.filmaffinity.com/es/awards.php?award_id=emmy&year=" + aux;
}
function showGoldenGlobe(){
var anio = prompt('Año (1944-2013)');
var aux = parseInt(anio);
if(aux > 1943 && aux < 2014)
location.href = "http://www.filmaffinity.com/es/awards.php?award_id=goldenglobes&year=" + aux;
}
function showGoya(){
var anio = prompt('Año (1987-2013)');
var aux = parseInt(anio);
if(aux > 1986 && aux < 2014)
location.href = "http://www.filmaffinity.com/es/awards.php?award_id=goya&year=" + aux;
}
function showMalaga(){
var anio = prompt('Año (1998-2013)');
var aux = parseInt(anio);
if(aux > 1997 && aux < 2014)
location.href = "http://www.filmaffinity.com/es/awards.php?award_id=malaga&year=" + aux;
}
function showRazzie(){
var anio = prompt('Año (1981-2013)');
var aux = parseInt(anio);
if(aux > 1980 && aux < 2014)
location.href = "http://www.filmaffinity.com/es/awards.php?award_id=razzie&year=" + aux;
}
function showSevilla(){
var anio = prompt('Año (2004-2012)');
var aux = parseInt(anio);
if(aux > 2003 && aux < 2013)
location.href = "http://www.filmaffinity.com/es/awards.php?award_id=sevilla&year=" + aux;
}
function showSS(){
var anio = prompt('Año (1953-2012)');
var aux = parseInt(anio);
if(aux > 1952 && aux < 2013)
location.href = "http://www.filmaffinity.com/es/awards.php?award_id=ss&year=" + aux;
}
function showSitges(){
var anio = prompt('Año (1971-2013)');
var aux = parseInt(anio);
if(aux > 1970 && aux < 2014)
location.href = "http://www.filmaffinity.com/es/awards.php?award_id=sitges&year=" + aux;
}
function showSpirit(){
var anio = prompt('Año (1986-2013)');
var aux = parseInt(anio);
if(aux > 1985 && aux < 2014)
location.href = "http://www.filmaffinity.com/es/awards.php?award_id=spirit&year=" + aux;
}
function showSundance(){
var anio = prompt('Año (1985-2013)');
var aux = parseInt(anio);
if(aux > 1984 && aux < 2014)
location.href = "http://www.filmaffinity.com/es/awards.php?award_id=sundance&year=" + aux;
}
function showTribeca(){
var anio = prompt('Año (2002-2013)');
var aux = parseInt(anio);
if(aux > 2001 && aux < 2014)
location.href = "http://www.filmaffinity.com/es/awards.php?award_id=tribeca&year=" + aux;
}
function showValladolid(){
var anio = prompt('Año (1960-2012)');
var aux = parseInt(anio);
if(aux > 1959 && aux < 2013)
location.href = "http://www.filmaffinity.com/es/awards.php?award_id=seminci&year=" + aux;
}
function showVenecia(){
var anio = prompt('Año (1947-2012)');
var aux = parseInt(anio);
if(aux > 1946 && aux < 2013)
location.href = "http://www.filmaffinity.com/es/awards.php?award_id=venice&year=" + aux;
}
function goToHomepage() {
location.href = homepage;
}
function isFlagImg(img) {
return img.src.search(/\/countries\//ig) > -1;
}
function inSection(section) {
return url.search(eval(sections[section])) > -1;
}
function inSections(s) {
var value = false;
var i = 0;
while (!value && i < s.length) {
value = url.search(eval(sections[s[i]])) > -1;
i++;
}
return value;
}
/* Paises / contienentes
Sacado de http://en.wikipedia.org/wiki/List_of_countries_by_continent_(data_file)
*/
var continents = {
"América del Norte":["AI","AG","AW","BS","BB","BZ","BM","VG","CA","KY","CR","CU","DM","DO","SV","GL","GD","GP","GT","HT","HN","JM","MQ","MX","MS","AN","NI","PA","PR","BL","KN","LC","MF","PM","VC","TT","TC","US","VI"],
Europa:["ZX","LE","RR","ZY","YU","AX","AL","AD","AT","BY","BE","BA","BG","HR","CZ","DK","EE","FO","FI","FD","FF","FR","DE","GI","GR","GG","VA","HU","IS","IE","IM","IT","JE","LV","LI","LT","LU","MK","MT","MD","MC","ME","NL","NO","PL","PT","RO","RU","SM","RS","SK","SI","ES","SJ","SE","CH","UA","GB"],
"América del Sur":["AR","BO","BR","CL","CO","EC","FK","GF","GY","PY","PE","SR","UY","VE"],
Oceanía:["AS","AU","CK","FJ","PF","GU","KI","MH","FM","NR","NC","NZ","NU","NF","MP","PW","PG","PN","WS","SB","TK","TO","TV","UM","VU","WF"],
Asia:["AF","AM","AZ","BH","BD","BT","IO","BN","KH","CN","CX","CC","CY","GE","HK","IN","ID","IR","IQ","IL","JP","JO","KZ","KP","KR","KW","KG","LA","LB","MO","MY","MV","MN","MM","NP","OM","PK","PS","PH","QA","SA","SG","LK","SY","TW","TJ","TH","TL","TR","TM","AE","UZ","VN","YE"],
África:["DZ","AO","BJ","BW","BF","BI","CD","CM","CV","CF","TD","KM","CG","CI","DJ","EG","GQ","ER","ET","GA","GM","GH","GN","GW","KE","LS","LR","LY","MG","MW","ML","MR","MU","YT","MA","MZ","NA","NE","NG","RE","RW","SH","ST","SN","SC","SL","SO","ZA","SD","SZ","TZ","TG","TN","UG","EH","ZM","ZW"]
};
var distribuciones = {
"Lingüístico": {nombre: "Lingüístico",tipo:DIST_REGIONS,autor:"zopilote",descripcion:"", data :{
"Lenguas románicas":['BJ','CV','CI','GA','GW','GQ','GN','MU','ST','SC','BZ','CR','CU','SV','GT','HT','HN','MX','NI','PA','PR','DO','AR','BO','BR','CL','CO','EC','PY','PE','SR','UY','VE','AD','BE','ES','FR','IT','MD','MC','PT','RO','SM','CH'],
"Lenguas germánicas":['GH','LR','SL','ZA','AG','BS','BB','CA','US','US','GD','JM','TT','US','FD','FF','FD','FF','DE','AT','DK','NL','IE','IS','LI','NO','FD','GB','GB','FF','SE','AU','NZ'],
"Lenguas eslavas":['BA','BG','ZX','HR','SK','SI','MK','ME','PL','CZ','RU','RR','RS','UA','ZY','ZY','ZY','YU'],
"Lenguas urálicas":['EE','FI','HU'],
"Lenguas bálticas":['LE','LT'],
"Lenguas indo-iranias":['AF','BD','IN','IR','MV','NP','PK','LK','TJ'],
"Lenguas sino-tibetanas":['BT','CN','HK','MM','TW'],
"Lenguas austronesias":['BN','PH','ID','MY','FJ'],
"Lenguas tai-kadai":['KH','TH'],
"Lenguas altaicas":['AZ','KP','KR','JP','KZ','KG','MN','TM','TR','UZ'],
"Lenguas afroasiáticas":['DZ','TD','EG','ER','ET','LY','MA','MR','NE','SO','SD','TN','SA','BH','AE','IQ','IL','JO','KW','LB','OM','QA','SY','PS','YE'],
"Indefinida / Otras":['AO','BW','BF','BI','CM','KM','CG','GM','KE','LS','MG','MW','ML','MZ','NA','NG','CF','RW','SN','SZ','TZ','TG','UG','ZM','ZW','DM','GY','AM','CY','GE','LA','SG','VN','AL','GR','LU','MT','MH','FM','PW','PG','WS','VU']}
},
"Cultural - Euroasiaticocéntrico": {nombre: "Cultural - Euroasiaticocéntrico",tipo:DIST_REGIONS,autor:"VicenteJavier",descripcion:"", data :{
'Europeo Latino':['AD','ES','FR','IT','MT','MC','PT','SM'],'Europeo Central':['FD','FF','FD','FF','DE','AT','BE','NL','HU','LI','LU','PL','FD','CZ','FF','CH'],'Europeo Nórdico':['DK','FI','IS','NO','SE'],'Europeo Soviético':['AM','AZ','GE','KZ','KG','TJ','TM','UZ','EE','LE','LT','MD','RU','UA','ZY','ZY','ZY'],'Europeo Balcánico':['CY','AL','BA','BG','ZX','HR','SK','SI','GR','MK','ME','RO','RR','RS','YU'],'Asiático Oeste':['AF','SA','BH','AE','IQ','IR','IL','JO','KW','LB','OM','QA','SY','PS','TR','YE'],'Asiático Indostánico':['BD','BT','IN','MV','NP','PK','LK'],'Asiático Chino':['CN','HK','MN','TW'],'Asiático Sudeste':['BN','KH','PH','ID','LA','MY','MM','SG','TH','VN'],'Asiático Japonés':['JP'],'Asiático Coreano':['KP','KR'],'Anglo-sajón Británico':['IE','GB','GB'],'Anglo-sajón Norteamericano':['AG','BS','BB','CA','DM','US','US','GD','HT','JM','PR','TT','US','SR'],'Anglo-sajón Oceánico':['AU','FJ','MH','FM','NZ','PW','PG','WS','VU'],'Latinoamericano':['BZ','CR','CU','SV','GT','HN','MX','NI','PA','DO','AR','BO','BR','CL','CO','EC','PY','PE','UY','VE'],'Africano':['AO','DZ','BJ','BW','BF','BI','CV','CM','TD','KM','CG','CI','EG','ER','ET','GA','GM','GH','GW','GQ','GN','KE','LS','LR','LY','MG','MW','ML','MA','MU','MR','MZ','NA','NE','NG','CF','RW','ST','SN','SC','SL','SO','SD','ZA','SZ','TZ','TG','TN','UG','ZM','ZW']
}},
"Continental Simplificado": {nombre: "Continental Simplificado",tipo:DIST_REGIONS,autor:"Multifolio",descripcion:"", data :{
'África':['AO','DZ','BJ','BW','BF','BI','CV','CM','TD','KM','CG','CI','EG','ER','ET','GA','GM','GH','GW','GQ','GN','KE','LS','LR','LY','MG','MW','ML','MA','MU','MR','MZ','NA','NE','NG','CF','RW','ST','SN','SC','SL','SO','SD','ZA','SZ','TZ','TG','TN','UG','ZM','ZW'],'América':['AG','BS','BB','BZ','CA','CR','CU','DM','US','SV','US','GD','GT','HT','HN','JM','MX','NI','PA','PR','DO','TT','US','AR','BO','BR','CL','CO','EC','GY','PY','PE','SR','UY','VE'],'Asia':['AF','SA','AM','AZ','BH','BD','BN','BT','KH','CN','CY','KP','KR','AE','PH','GE','HK','IN','ID','IQ','IR','IL','JP','JO','KZ','KG','KW','LA','LB','MY','MV','MN','MM','NP','OM','PK','QA','SG','SY','LK','TH','TW','TJ','PS','TM','TR','UZ','VN','YE'],'Europa':['AL','FD','FF','FD','FF','DE','AD','AT','BE','BA','BG','ZX','HR','DK','SK','SI','ES','EE','FI','FR','GR','NL','HU','IE','IS','IT','LE','LI','LT','LU','MK','MT','MD','MC','ME','NO','PL','PT','FD','GB','GB','CZ','FF','RO','RU','SM','RR','RS','SE','CH','UA','ZY','ZY','ZY','YU'],'Oceanía':['AU','FJ','MH','FM','NZ','PW','PG','WS','VU']
}}
};
var genCodes = {
"Acción":"AC","Animación":"AN","Aventuras":"AV","Bélico":"BE","Ciencia ficción":"CF",
"Cine negro":"CN","Comedia":"CO","Desconocido":"DE","Documental":"DO","Drama":"DR",
"Fantástico":"FN","Infantil":"IF","Intriga":"IT","Musical":"MU","Romance":"RO","Serie de TV":"TV",
"Terror":"TE","Thriller":"TH","Western":"WE"
};
var anioCodes = {
"1900 - 1929":"A1","1930 - 1939":"A2","1940 - 1949":"A3","1950 - 1959":"A4","1960 - 1969":"A5",
"1970 - 1979":"A6","1980 - 1989":"A7","1990 - 1999":"A8","2000":"2A","2001":"2B","2002":"2C",
"2003":"2D","2004":"2E","2005":"2F","2006":"2G","2007":"2H","2008":"2I","2009":"2J","2010":"2K",
"2011":"2L","2012":"2M","2013":"2N","2014":"2P"
};
var countriesCodes = {
"Afganistán":"AF","Albania":"AL","Alemania del Este (RDA)":"FD","Alemania del Oeste (RFA)":"FF",
"Alemania del Este":"FD","Alemania del Oeste":"FF",
"Alemania":"DE","Andorra":"AD","Angola":"AO","Antigua y Barbuda":"AG","Arabia Saudí":"SA",
"Argelia":"DZ","Argentina":"AR","Armenia":"AM","Australia":"AU","Austria":"AT","Azerbaijan":"AZ",
"Bahamas":"BS","Bahrein":"BH","Bangladesh":"BD","Barbados":"BB","Bélgica":"BE","Belize":"BZ",
"Benín":"BJ","Bielorusia":"BY","Bolivia":"BO","Bosnia y Herzegovina":"BA","Botswana":"BW","Brasil":"BR",
"Brunei":"BN","Bulgaria":"BG","Burkina Faso":"BF","Burundi":"BI","Bután":"BT","Cabo Verde":"CV",
"Camboya":"KH","Camerún":"CM","Canadá":"CA","Chad":"TD","Checoslovaquia":"ZX","Chile":"CL",
"China":"CN","Chipre":"CY","Colombia":"CO","Comores":"KM","Congo":"CG","Corea del Norte":"KP",
"Corea del Sur":"KR","Costa de Marfil":"CI","Costa Rica":"CR","Croacia":"HR","Cuba":"CU","Dinamarca":"DK",
"Dominica":"DM","Ecuador":"EC","EEUU":"US","Egipto":"EG","El Salvador":"SV","Emiratos Árabes":"AE",
"Eritrea":"ER","Eslovaquia":"SK","Eslovenia":"SI","España":"ES","Estados Unidos":"US","Estonia":"EE",
"Etiopía":"ET","Fidji":"FJ","Filipinas":"PH","Finlandia":"FI","Francia":"FR","Gabón":"GA",
"Gambia":"GM","Georgia":"GE","Ghana":"GH","Granada":"GD","Grecia":"GR","Groenlandia":"GL", "Guatemala":"GT",
"Guinea Bissau":"GW","Guinea Ecuatorial":"GQ","Guinea":"GN","Guyana":"GY","Haití":"HT","Países Bajos (Holanda)":"NL",
"Honduras":"HN","Hong Kong":"HK","Hungría":"HU","India":"IN","Indonesia":"ID","Irak":"IQ","Irán":"IR",
"Irlanda":"IE","Islandia":"IS","Israel":"IL","Italia":"IT","Jamaica":"JM","Japón":"JP","Jordania":"JO",
"Kazajstán":"KZ","Kenia":"KE","Kirguizstán":"KG","Kuwait":"KW","Laos":"LA","Lesotho":"LS",
"Letonia":"LE","Líbano":"LB","Liberia":"LR","Libia":"LY","Liechtenstein":"LI","Lituania":"LT",
"Luxemburgo":"LU","Macedonia":"MK","Madagascar":"MG","Malasia":"MY","Malawi":"MW",
"Maldivas":"MV","Mali":"ML","Malta":"MT","Marruecos":"MA","Marshall (Islas)":"MH","Mauricio (Isla)":"MU",
"Mauritania":"MR","México":"MX","Micronesia":"FM","Moldavia":"MD","Mónaco":"MC",
"Mongolia":"MN","Montenegro":"ME","Mozambique":"MZ","Myanmar - Birmania":"MM","Namibia":"NA",
"Nepal":"NP","Nicaragua":"NI","Níger":"NE","Nigeria":"NG","Noruega":"NO","Nueva Zelanda":"NZ",
"Omán":"OM","Palau":"PW","Panamá":"PA","Papuasia Nueva Guinea":"PG","Paquistán":"PK","Paraguay":"PY",
"Perú":"PE","Polonia":"PL","Portugal":"PT","Puerto Rico":"PR","Qatar":"QA","RDA":"FD",
"Reino Unido":"GB","GB":"GB","Rep. Centroafricana":"CF","Rep. Dominicana":"DO","República Checa":"CZ","República del Congo":"CD","RFA":"FF",
"Ruanda":"RW","Rumanía":"RO","Rusia":"RU","Samoa":"WS","San Marino":"SM","Santo Tomé y Príncipe":"ST",
"Senegal":"SN","Serbia y Montenegro":"RR","Serbia":"RS","Seychelles":"SC","Sierra Leona":"SL","Singapur":"SG",
"Siria":"SY","Somalia":"SO","Sri Lanka":"LK","Sudán":"SD","Suecia":"SE","Suiza":"CH","Sudáfrica":"ZA",
"Surinam":"SR","Swazilandia":"SZ","Tailandia":"TH","Taiwán":"TW","Tajikistan":"TJ","Tanzania":"TZ",
"Palestina":"PS","Togo":"TG","Trinidad y Tobago":"TT","Túnez":"TN","Turkmenistán":"TM","Turquía":"TR",
"Ucrania":"UA","Uganda":"UG","Unión Soviética (URSS)":"ZY","Unión Soviética":"ZY","URSS":"ZY","Uruguay":"UY",
"USA":"US","Uzbekistan":"UZ","Vanuatú":"VU","Venezuela":"VE","Vietnam":"VN","Yemen":"YE",
"Yugoslavia":"YU","Zambia":"ZM","Zimbabwe":"ZW"
};
var countriesSpanish = {
"Argentina":"AR","Bolivia":"BO","Chile":"CL","Colombia":"CO"
,"Costa Rica":"CR","Cuba":"CU","Ecuador":"EC","El Salvador":"SV"
,"España":"ES","Guatemala":"GT","Guinea Ecuatorial":"GQ","Honduras":"HN"
,"México":"MX","Nicaragua":"NI","Panamá":"PA","Paraguay":"PY",
"Perú":"PE","Puerto Rico":"PR","Rep. Dominicana":"DO","Venezuela":"VE"
};
function getCountryCode(country) {
return countriesCodes[country];
}
function getGenCode(genre) {
return genCodes[genre];
}
function getAnioCode(anio) {
return anioCodes[anio];
}
function getContinent(countryCode) {
for (var continent in continents) {
if (inArray(continents[continent], '', countryCode)) return continent;
}
return 'NA';
}
function getRegion(distribucion, countryCode) {
var dist = distribuciones[distribucion].data;
for (var region in dist) {
if (inArray(dist[region], '', countryCode)) return region;
}
return 'NA';
}
// ************************ PREFERENCIAS *********************************************
function preferences() {
function showPreferences() {
log("Mostrar preferencias");
GM_addStyle('#backgroundLayer { width: 100%; height: 100%; background-color: black; position: fixed; left: 0; right: 0; top: 0; bottom: 0; opacity: .7; }');
GM_addStyle('#fap_prefs { color: black; background-color: #def; text-align: center; border: 4px solid gray; width: 70%; height: 90%; opacity: 1; margin: auto; position: fixed; left: 0; right: 0; top: 0; bottom: 0; overflow: auto; }');
GM_addStyle('#fap_prefs>#closeButton { width: 22px; height: 22px; margin: 0; padding: 0; position: absolute; right: 0; top: 0; background-image: url(' + closeimg + '); opacity: .5; }');
GM_addStyle('#fap_prefs>#closeButton:hover { opacity: 1; }');
GM_addStyle('#fap_prefs>h1 { font-size: x-large; }');
GM_addStyle('#fap_prefs>h2 { font-size: large; font-style: italic; }');
GM_addStyle('#fap_prefs>table { border: 1; margin-left: auto; margin-right: auto; }');
GM_addStyle('#fap_prefs>table>caption { border: 1; margin-left: auto; margin-right: auto; }');
GM_addStyle('#fap_prefs>button { margin: 2em; }');
GM_addStyle('#fap_prefs img { width: 16px; height: 16px; }');
GM_addStyle('#fap_prefs th { background-color: black; color: white; font-style: italic; }');
GM_addStyle('#fap_prefs>table { border: 1px solid black; }');
GM_addStyle('#fap_prefs td.sites { border: 1px solid black; }');
GM_addStyle('#fap_prefs label:hover { text-decoration: none; }');
GM_addStyle('#fap_prefs .puntuacion { width: 300px; margin-left: auto; margin-right: auto; }');
GM_addStyle('#fap_prefs legend { font-weight: bold; }');
GM_addStyle('#fap_prefs .regreq { font-weight: bold; color: red }');
GM_addStyle('#fap_prefs .viewSuboptions {margin-left:4px;cursor:pointer;width:9px;height:9px;}');
GM_addStyle('#fap_prefs .subOptions {background-color:#eef;display:none;border:1px solid black;margin-left:10%;font-size:90%;}');
var background = d.createElement('DIV');
background.id = 'backgroundLayer';
d.body.appendChild(background);
var prefs = d.createElement('DIV');
var iconTemplate = '<img src="{ICON}" alt="icono de {NAME}" title="{TITLE}"/>';
var linkTemplate = '<label title="{TITLE}"><input type="checkbox" name="{NAME}" checked></input>{ICON} {NAME}{REGISTRO}</label>{OPTIONS}</br>';
var subOptionTemplate = '<label title="{NAME}"><input type="checkbox" name="{NAME}" checked></input>{TEXT}</label><br/>';
var optTemplate = '<tr><td colspan=4><label><input type="checkbox" name="{NAME}" {CHECKED}>{TEXT}</label></td></tr>';
prefs.id = 'fap_prefs';
var tmp = '<div id="closeButton" title="Cierra el panel de configuración"></div>';
tmp += '<h2>Panel de configuración ' + appName + ' versión ' + appVersion + '</h2>';
tmp += '<table>';
tmp += '<thead><tr>';
tmp += '<th><label><input type="checkbox" name="verCine" checked>Cine</label></th>';
tmp += '<th><label><input type="checkbox" name="verGeneral" checked>General</label></th>';
tmp += '<th><label><input type="checkbox" name="verDescargas" checked>Descargas</label></th>';
tmp += '<th><label><input type="checkbox" name="verSubtitulos" checked>Subtitulos</label></th>';
tmp += '</thead><tbody><tr valign="top">';
var types = [_TFILM, _TGEN, _TDOWN, _TSUB];
for (var t in types) {
tmp += '<td class="sites">';
for (var i in linkSites) {
if (linkSites[i].type == types[t]) {
var name = linkSites[i].name;
var title = name;
if (linkSites[i].regreq) title += ' (requiere registro)';
var text = linkTemplate.replace(/{ICON}/g, iconTemplate);
text = text.replace(/{ICON}/g, linkSites[i].icon).replace(/{NAME}/g, name);
text = text.replace(/{TITLE}/g, (linkSites[i].regreq) ? name + ' (requiere registro' : name);
text = text.replace(/{REGISTRO}/g, (linkSites[i].regreq) ? ' <span class="regreq">(*)</span>' : '');
if (linkSites[i].search.indexOf("{OPTIONS}") > -1) {
var htmlOptions = '<img src=' + img_plus + ' id= "' + name + '" class="viewSuboptions"><div class="subOptions" id="subOptions' + name + '" style="display:none;">';
for (var j in linkSites[i].options) {
var option = linkSites[i].options[j];
htmlOptions += subOptionTemplate.replace(/{NAME}/g, name + ".opt." + option.name).replace(/{TEXT}/g, option.text);
}
text = text.replace(/{OPTIONS}/g, htmlOptions + '</div>');
} else {
text = text.replace(/{OPTIONS}/g, "");
}
tmp += text;
}
}
tmp += '</td>';
}
tmp += '</tr>';
tmp += optTemplate.replace(/{NAME}/g, 'newwindow').replace(/{TEXT}/g, 'Abrir enlaces en una nueva pestaña');
tmp += '<tr><td colspan=4>Los sitios marcados con <span class="regreq">(*)</span> requieren registro.</td></tr>';
tmp += '<tr><td colspan="4"><fieldset><legend>Posición de los enlaces a webs externas</legend>';
tmp += '<label><input type="radio" name="linksPosition" value="default">Integrados en la ficha de la pelicula</input></label> ';
tmp += '<label><input type="radio" name="linksPosition" value="inTitle">En el título de la pelicula</input></label>';
//tmp += '<label><input type="radio" name="linksPosition" value="inPanel">Panel derecho, debajo de la puntuación</input></label>';
tmp += '</fieldset><hr></td></tr>';
//Obtener Id propia
var idfinal = getPreference('idinput', 000000);
tmp += '<tr><td colspan=4><label>Introduce tu ID de usuario: <input type="text" size ="7" value="' + idfinal + '" name="idinput"></label></td></tr>';
tmp += '<tr height="18"><td align="center" bgcolor="#008000" colspan="4"><font color="#ffffff">Opciones de Menús</font></td></tr>';
// Nuevas preferencias
for (pref in preferencesOptions) {
if(pref == 3)
tmp += '<tr height="18"><td align="center" bgcolor="#008000" colspan="4"><font color="#ffffff">Opciones de Listas</font></td></tr>';
if(pref == 8){
var idltemp = getPreference('idltemp', 0000);
tmp += '<tr><td colspan=4><label>Introduce la ID de tu lista auxiliar: <input type="text" size ="7" value="' + idltemp + '" name="idltemp"></label></td></tr>';
tmp += '<tr height="18"><td align="center" bgcolor="#008000" colspan="4"><font color="#ffffff">Opciones de Mis Datos</font></td></tr>';
}
if(pref == 10){
var nusuarios = getPreference('nusers', 20);
tmp += '<tr><td colspan=4><label>Número de usuarios a mostrar en Clasificaciones: (10-150) <input type="text" size ="5" value="' + nusuarios + '" name="nusers"></label></td></tr>';
}
if(pref == 13){
tmp += '<tr height="18"><td align="center" bgcolor="#008000" colspan="4"><font color="#ffffff">Opciones de Mis amigos</font></td></tr>';
//var ret_tiempo = getPreference('retardoamigos', 750);
//tmp += '<tr><td colspan=4><label>Retardo al mostrar amigos (mínimo 200 ms): <input type="text" size ="5" value="' + ret_tiempo + '" name="retardoamigos"> ms.</label></td></tr>';
tmp += optTemplate.replace(/{NAME}/g, 'abriramigos').replace(/{TEXT}/g, 'Abrir votaciones/críticas/listas de amigos en una nueva pestaña');
tmp += '<tr height="18"><td align="center" bgcolor="#008000" colspan="4"><font color="#ffffff">Otras opciones</font></td></tr>';
}
t = optTemplate.replace(/{NAME}/g, preferencesOptions[pref].name).replace(/{TEXT}/g, preferencesOptions[pref].text);
tmp += t.replace(/{CHECKED}/g, preferencesOptions[pref].def ? 'checked' : '');
}
// Limite en recomendaciones y TOPs
var limite = getPreference('limit', 20);
tmp += '<tr><td colspan=4><label>N° de películas a mostrar en Recomendaciones y TOP: <input type="text" size ="5" value="' + limite + '" name="limit"></label></td></tr>';
tmp += '</tbody></table>';
tmp += '<br/><fieldset class="puntuacion"><legend>Estilo de las puntuaciones</legend><div style="text-align: left"><label><input type="radio" name="ratingStyle" value="default" >Estilo por defecto</input></label><br/>';
for (t in ratingStyles) {
tmp += '<label><input type="radio" name="ratingStyle" value="' + ratingStyles[t].code + '">' + ratingStyles[t].name + ': <img src="' + ratingStyles[t].iconOn + '"><img src="' + ratingStyles[t].iconOn + '"><img src="' + ratingStyles[t].iconOn + '"><img src="' + ratingStyles[t].iconHalf + '"><img src="' + ratingStyles[t].iconOff + '"><img src="' + ratingStyles[t].iconOff + '"></input></label><br/>';
}
tmp += '</div></fieldset>';
tmp += '<button id="saveButton" title="Guarda las preferencias y cierra el panel de configuración">Guardar preferencias</button>';
prefs.innerHTML += tmp;
d.body.appendChild(prefs);
$id("saveButton").addEventListener("click", savePreferences, true);
$id("closeButton").addEventListener("click", hidePreferences, true);
$id("backgroundLayer").addEventListener("click", hidePreferences, true);
loadPreferences();
setSubOptionsEvents();
log("-mostradas preferencias");
}
function showSubOptionPanel() {
var element = $id("subOptions" + this.id);
if (element.style.display != 'none') {
element.style.display = "none";
this.src = img_plus;
} else {
element.style.display = "block";
this.src = img_minus;
}
}
function setSubOptionsEvents() {
var imagenes = getElementsByClassName(d, "img", "viewSuboptions");
for (i in imagenes) {
var img = imagenes[i];
img.addEventListener("click", showSubOptionPanel, false);
}
}
// Por ahora solo los radio, preparar para todos
function loadPreferences() {
var xpath = 'id("fap_prefs")//input';
var nodo;
var iterator = findNodes(d, xpath);
while ((nodo = iterator.iterateNext()) != null) {
var valor = getPreference(nodo.name, "undefined");
switch (nodo.type) {
case "checkbox":nodo.checked = (valor != "undefined") ? valor : nodo.checked; break;
//case "text":nodo.value = (valor != "undefined") ? valor : "";break;
case "radio":nodo.checked = (valor != "undefined") ? (nodo.value == valor) : (nodo.value == "default");break;
}
}
}
function savePreferences() {
var xpath = 'id("fap_prefs")//input';
var iterator = findNodes(d, xpath);
var nodo = null;
while (nodo = iterator.iterateNext()) {
switch (nodo.type) {
case "checkbox":setPreference(nodo.name, nodo.checked);break;
case "text":setPreference(nodo.name, nodo.value);break;
case "radio":if (nodo.checked) {
setPreference(nodo.name, nodo.value);
};break;
}
}
alert('Los cambios tendrán efecto al recargar la página.');
hidePreferences();
}
function hidePreferences() {
d.body.removeChild($id('fap_prefs'));
d.body.removeChild($id('backgroundLayer'));
}
showPreferences();
// ************************ FIN PREFERENCIAS *********************************************
}
// Coloca enlaces a las paginas de los amigos
function addFriendsLinks() {
var friendsTable = "//span[text()='Nombre/Nick']/ancestor::*[position()=4]".findNode();
var votesTpl = "<a class='lnk3' href='http://www.filmaffinity.com/es/userratings.php?user_id={ID}'>{VOTES}</a>";
var criticsTpl = "<a class='lnk3' href='http://www.filmaffinity.com/es/userreviews/1/{ID}.html?orderby=5'>{CRITICAS}</a>";
for (var i = 1; i < friendsTable.rows.length - 1; i++) {
var fiendId = friendsTable.rows[i].cells[0].firstChild.href.split('=')[1];
var ratedfilms = friendsTable.rows[i].cells[3].textContent;
var criticas = friendsTable.rows[i].cells[4].textContent;
friendsTable.rows[i].cells[3].innerHTML = votesTpl.replace(/{ID}/g, fiendId).replace(/{VOTES}/g, ratedfilms);
if (parseInt(criticas.split('.').join('')) > 0) {
friendsTable.rows[i].cells[4].innerHTML = criticsTpl.replace(/{ID}/g, fiendId).replace(/{CRITICAS}/g, criticas);
}
}
}
// Comprueba los cambios en las puntuaciones de los amigos
function doFriendsRatingChange() {
var nodselect = "//select[@id='select-group']".findNode();
var nodcab = "//strong[text()='Votaciones']/ancestor::*[position()=2]".findNode();
retardo = 700;
nodcab.childNodes[1].style.marginRight = "15px";
nodcab.childNodes[3].style.marginRight = "14px";
nodcab.childNodes[5].style.marginRight = "9px";
nodcab.style.marginTop = "8px";
nodselect.onchange = function(){cambio_grupo(retardo);}
//onload=function(){
setTimeout(ver_cambios_amigos, 1500)
//}
}
function dar_formato(num){
var cadena = "";
var aux;
var cont = 1,m,k;
if(num<0)
aux=1;
else
aux=0;
num=num.toString();
for(m=num.length-1; m>=0; m--){
cadena = num.charAt(m) + cadena;
if(cont%3 == 0 && m >aux)
cadena = "." + cadena;
else
cadena = cadena;
if(cont== 3)
cont = 1;
else
cont++;
}
cadena = cadena.replace(/.,/,",");
return cadena;
}
function cambio_grupo(retardo){
setTimeout(ver_cambios_amigos, retardo);
}
function ver_cambios_amigos(){
var nodselect = "//select[@id='select-group']".findNode();
var namigos = parseInt(nodselect.options[nodselect.selectedIndex].textContent.split('[')[1].split(']')[0]);
var nodmaster = "//div[@id='user-friends-container']".findNode();
var nhijos = nodmaster.childNodes.length;
var prim_nodo = nhijos - namigos;
var target = getPreference('abriramigos', true) ? '_blank' : '_self';
//Mejora el aspecto de la "tabla"
nodmaster.style.padding = "0px 15px 5px 8px";
for(var j = prim_nodo; j < nhijos; j++) {
nodmaster.childNodes[j].style.padding = "0px 0px 3px";
nodmaster.childNodes[j].style.height = "18px";
}
for (var i = prim_nodo; i < nhijos; i++){
var friendId = nodmaster.childNodes[i].id.split('-')[2];
var name = nodmaster.childNodes[i].childNodes[1].childNodes[7].childNodes[1].firstChild.firstChild.textContent;
var ratedfilms = nodmaster.childNodes[i].childNodes[1].childNodes[9].firstChild.firstChild.textContent;
var criticas = nodmaster.childNodes[i].childNodes[1].childNodes[11].firstChild.firstChild.textContent;
var listas = nodmaster.childNodes[i].childNodes[1].childNodes[13].firstChild.firstChild.textContent;
var avg = nodmaster.childNodes[i].childNodes[1].childNodes[15].firstChild.firstChild.textContent;
var changenode = nodmaster.childNodes[i].childNodes[1].childNodes[9].firstChild;
changenode.parentNode.style.paddingTop = "2.2px";
nodmaster.childNodes[i].childNodes[1].childNodes[1].style.paddingTop = "1px";
//Nombre
nodmaster.childNodes[i].childNodes[1].childNodes[7].style.width = "420px";
nodmaster.childNodes[i].childNodes[1].childNodes[7].style.marginTop = "3px";
//Votos
changenode.style.width = "71px";
changenode.style.height = "14px";
changenode.style.marginLeft = "10px";
changenode.style.marginTop = "1.5px";
changenode.target = target;
//Críticas
nodmaster.childNodes[i].childNodes[1].childNodes[11].firstChild.style.width = "55px";
nodmaster.childNodes[i].childNodes[1].childNodes[11].firstChild.style.marginLeft = "10px";
nodmaster.childNodes[i].childNodes[1].childNodes[11].firstChild.style.height = "14px";
nodmaster.childNodes[i].childNodes[1].childNodes[11].firstChild.style.marginTop = "1.5px";
nodmaster.childNodes[i].childNodes[1].childNodes[11].firstChild.target = target;
nodmaster.childNodes[i].childNodes[1].childNodes[11].firstChild.href += "?orderby=5";
//Listas
nodmaster.childNodes[i].childNodes[1].childNodes[13].firstChild.style.width = "50px";
nodmaster.childNodes[i].childNodes[1].childNodes[13].firstChild.style.marginLeft = "5px";
nodmaster.childNodes[i].childNodes[1].childNodes[13].firstChild.style.height = "14px";
nodmaster.childNodes[i].childNodes[1].childNodes[13].firstChild.style.marginTop = "1.5px";
nodmaster.childNodes[i].childNodes[1].childNodes[13].firstChild.target = target;
//Media
nodmaster.childNodes[i].childNodes[1].childNodes[15].firstChild.style.width = "40px";
nodmaster.childNodes[i].childNodes[1].childNodes[15].firstChild.style.marginLeft = "10px";
nodmaster.childNodes[i].childNodes[1].childNodes[15].firstChild.style.height = "14px";
nodmaster.childNodes[i].childNodes[1].childNodes[15].firstChild.style.marginTop = "1.5px";
//Mensaje
nodmaster.childNodes[i].childNodes[1].childNodes[17].style.paddingTop = "2.5px";
var friendstr = GM_getValue(userId + ".friends." + friendId);
if (typeof friendstr != 'undefined') {
var friend = eval(friendstr);
var dif = ratedfilms - friend.films;
var prefix;
if (dif != 0) {
prefix = dif > 0 ? '+' : '';
changenode.style.backgroundColor = dif > 0 ? 'lightgreen' : '#FF6666';
changenode.firstChild.textContent = dar_formato(parseInt(ratedfilms)) + '(' + prefix + dif + ')';
}
else
changenode.firstChild.textContent = dar_formato(parseInt(ratedfilms));
//Comparar el número de críticas con la última vez (si existen datos guardados)
if (typeof friend.criticas != 'undefined') {
dif = criticas - friend.criticas;
if (dif != 0) {
prefix = dif > 0 ? '+' : '';
nodmaster.childNodes[i].childNodes[1].childNodes[11].firstChild.style.backgroundColor = dif > 0 ? 'lightgreen' : '#FF6666';
nodmaster.childNodes[i].childNodes[1].childNodes[11].firstChild.firstChild.textContent = dar_formato(parseInt(criticas)) + '(' + prefix + dif + ')';
}
else
nodmaster.childNodes[i].childNodes[1].childNodes[11].firstChild.firstChild.textContent = dar_formato(parseInt(criticas));
}
//Comparar el número de listas con la última vez (si existen datos guardados)
if (typeof friend.listas != 'undefined') {
dif = listas - friend.listas;
if (dif != 0) {
prefix = dif > 0 ? '+' : '';
nodmaster.childNodes[i].childNodes[1].childNodes[13].firstChild.style.backgroundColor = dif > 0 ? 'lightgreen' : '#FF6666';
nodmaster.childNodes[i].childNodes[1].childNodes[13].firstChild.firstChild.textContent = dar_formato(parseInt(listas)) + '(' + prefix + dif + ')';
}
else
nodmaster.childNodes[i].childNodes[1].childNodes[13].firstChild.firstChild.textContent = dar_formato(parseInt(listas));
}
}
else{
changenode.firstChild.textContent = dar_formato(parseInt(ratedfilms));
nodmaster.childNodes[i].childNodes[1].childNodes[11].firstChild.firstChild.textContent = dar_formato(parseInt(criticas));
nodmaster.childNodes[i].childNodes[1].childNodes[13].firstChild.firstChild.textContent = dar_formato(parseInt(listas));
}
GM_setValue(userId + ".friends." + friendId, {name:name,films:ratedfilms,criticas:criticas,listas:listas}.toSource());
}
}
// CAMBIOS EN ALMAS GEMELAS
// @todo: cambiar los nombres de las variables/metodos a algo medianamente coherente
function doSoulMates() {
function getSavedSoulMatesLists() {
var ssml = eval(GM_getValue(userId + ".ssml"));
if (typeof ssml == "undefined") {
ssml = new Object();
ssml.items = new Array();
ssml.last = 0;
}
return ssml;
}
function getSavedSoulMates(index) {
return eval(GM_getValue(userId + ".sml." + index));
}
function saveSoulMates(ssml, index, sm) {
GM_setValue(userId + ".sml." + index, sm.toSource());
ssml.items.push({'index':index,'date':sm.date});
ssml.last = index;
GM_setValue(userId + ".ssml", ssml.toSource());
}
function extractSoulMates(soulMatesTable) {
var soulMates = new Object;
soulMates.sm = [];
for (i = 1; i < NUM_SM; i++) {
var row = soulMatesTable.rows[i];
var id = row.cells[1].innerHTML.split("=")[2].split('"')[0];
var name = row.cells[1].firstChild.firstChild.textContent;
var affinity = row.cells[2].firstChild.firstChild.innerHTML.replace(',', '.');
var votes = row.cells[3].firstChild.innerHTML;
soulMates.sm[i] = {'id':id,'name':name,'affinity':affinity,'votes':votes};
}
soulMates.date = formatDate(new Date());
return soulMates;
}
function findChangesAllSoulMates(soulMates, previous) {
var changesAll = new Object;
var siguen = "";
changesAll.changed = false;
var rows = [];
for (j = 1; j < NUM_SM; j++) {
var changes = new Object;
var sm = soulMates.sm[j];
var found = false;
var i = 0;
while ((++i < NUM_SM) && !found) {
if (previous.sm[i]['id'] == sm['id']) {
found = true;
changes.pos = i - j;
changes.affinity = sm['affinity'] - previous.sm[i]['affinity'];
changes.votes = sm['votes'] - previous.sm[i]['votes'];
changes.changed = (changes['pos'] != 0) || (changes['affinity'] != 0) || (changes['votes'] != 0);
}
}
changes.found = found;
if (found) {
siguen += "," + sm['name'];
}
rows[j] = changes;
changesAll.changed = changesAll.changed || changes.changed || !found;
}
// Buscamos los caidos de la lista
var caidos = [];
for (j = 1; j < NUM_SM; j++) {
var user = previous.sm[j].name;
if (siguen.indexOf(user) < 0) {
caidos.push(user);
}
}
changesAll.rows = rows;
changesAll.fallen = caidos;
changesAll.date = formatDate(new Date());
return changesAll;
}
function clearSoulMatesTable(soulMatesTable) {
for (var i = 1; i < NUM_SM; i++) {
var row = soulMatesTable.rows[i];
row.cells[1].innerHTML = " ";
row.cells[4].innerHTML = " ";
row.cells[6].innerHTML = " ";
}
}
function prepareSoulMatesTable(soulMatesTable) {
soulMatesTable.rows[0].cells[0].colSpan = 2;
soulMatesTable.rows[0].cells[2].colSpan = 2;
soulMatesTable.rows[0].cells[3].colSpan = 2;
for (var i = 1; i < soulMatesTable.rows.length; i++) {
var row = soulMatesTable.rows[i];
var newCell = d.createElement('TD');
//newCell.width = 25;
newCell.innerHTML = " ";
row.insertBefore(newCell, row.cells[0].nextSibling);
newCell = d.createElement('TD');
newCell.width = 20;
newCell.innerHTML = " ";
row.insertBefore(newCell, row.cells[3].nextSibling);
newCell = d.createElement('TD');
newCell.width = 20;
newCell.innerHTML = " ";
row.insertBefore(newCell, row.cells[5].nextSibling);
}
}
function applySoulMatesChanges(soulMatesTable, i, changes) {
// ¿Cambio de posicion?
if (changes.pos > 0) {
soulMatesTable.rows[i].cells[1].innerHTML = '<img src="' + upimg + '"><span style="font-size:80%;color:#1FA012;">' + changes.pos + '</span>';
} else if (changes.pos < 0) {
soulMatesTable.rows[i].cells[1].innerHTML = '<img src="' + downimg + '"><span style="font-size:80%;color:#A0121F;">' + changes.pos + '</span>';
}
// ¿cambio de afinidad?
if (changes.affinity > 0) {
soulMatesTable.rows[i].cells[4].innerHTML = '<span style="font-size:85%;color:#1FA012;">(+' + changes.affinity.toFixed(2) + ')</span>';
} else if (changes.affinity < 0) {
soulMatesTable.rows[i].cells[4].innerHTML = '<span style="font-size:85%;color:#A0121F;">(' + changes.affinity.toFixed(2) + ')</span>';
}
// ¿cambio de valoradas?
if (changes.votes > 0) {
soulMatesTable.rows[i].cells[6].innerHTML = '<span style="font-size:85%;color:#1FA012;">(+' + changes.votes + ')</span>';
} else if (changes.votes < 0) {
soulMatesTable.rows[i].cells[6].innerHTML = '<span style="font-size:85%;color:#A0121F;">(' + changes.votes + ')</span>';
}
}
function applyNewSoulMate(soulMatesTable, i) {
soulMatesTable.rows[i].cells[1].innerHTML = '<img src="' + newimg + '">';
}
// Añade la leyenda de los caidos
function injectLostSM(soulMatesTable, fallen) {
log("Mostrando caidos");
if (fallen.length > 0) {
var tr = d.createElement('TR');
var td = d.createElement('TD');
td.innerHTML = 'Almas gemelas caidas de la lista: <b>' + fallen.join(', ') + '</b>';
td.colSpan = 7;
tr.appendChild(td);
soulMatesTable.rows[1].parentNode.appendChild(tr);
}
}
function injectLastChangeTime(soulMatesTable, date) {
if (typeof date != "undefined") {
var tr = d.createElement('TR');
var td = d.createElement('TD');
td.innerHTML = 'Ultimos cambios detectados el ' + date;
td.colSpan = 7;
tr.appendChild(td);
soulMatesTable.rows[1].parentNode.appendChild(tr);
}
}
function injectDateCombobox(soulMatesTable, newChanges, ssml) {
var currentTS = new Date();
var lastWeek = 0;
if (!newChanges) ssml.items.pop(); // Eliminamos el tiempo actual.
if (ssml.items.length > 1) {
ssml.items.sort(function(a, b) {
return b.index - a.index;
});
var tr = d.createElement('TR');
var td = d.createElement('TD');
var html = 'Comparar con: <select id="HSML" name="HSML">';
for (var ix in ssml.items) {
var index = ssml.items[ix].index;
var date = ssml.items[ix].date;
var dateTS = deFormatDate(date);
dateTS.setDate(dateTS.getDate() + 15);
var week = dateTS.getWeek(1);
// Si la fecha es de hace mas de quince dias, solo ponemos una
// por semana
if (dateTS > currentTS || week != lastWeek) {
lastWeek = week;
html += '<option value=' + index + '>' + date + '</option>';
}
}
html += "</select>";
td.innerHTML = html;
td.colSpan = 7;
tr.appendChild(td);
soulMatesTable.rows[1].parentNode.appendChild(tr);
$id("HSML").firstChild.selected = true;
$id("HSML").addEventListener("change", doSoulMatesHist, false);
}
}
function doSoulMatesChanges(soulMatesTable, newChanges, changesList, ssml, historic) {
// comparar y modificar
var changes;
for (i = 1; i < NUM_SM; i++) {
changes = changesList.rows[i];
if (changes.found) {
// ya la teniamos
if (changes.changed) {
applySoulMatesChanges(soulMatesTable, i, changes);
}
}
else {
// Es un alma gemela nueva
applyNewSoulMate(soulMatesTable, i);
}
}
if (getPreference("SHOWSMFALLEN", true) && !historic) {
injectLostSM(soulMatesTable, changesList.fallen);
}
if ((newChanges || getPreference("KEEPSMCHANGES"),true) && !historic) {
injectLastChangeTime(soulMatesTable, changesList.date);
}
/* Mostrar el combo para comparar con el historico */
if (!historic) injectDateCombobox(soulMatesTable, newChanges, ssml);
}
function getHSMSelectedIndex() {
var select = $id("HSML");
var index = 0;
var nodo = select.firstChild;
while (nodo != null && index == 0) {
if (nodo.selected) {
index = nodo.value;
}
nodo = nodo.nextSibling;
}
return index;
}
// Comparamos los ultimos datos con el historico.
function doSoulMatesHist() {
var soulMatesTable = XPATH_SML.findNode();
var ssml = getSavedSoulMatesLists();
var currentSM = getSavedSoulMates(ssml.last);
var index = getHSMSelectedIndex();
var historicSM = getSavedSoulMates(index);
var changes = findChangesAllSoulMates(currentSM, historicSM);
log("Comparando:" + currentSM.toSource());
log("Historico:" + historicSM.toSource());
clearSoulMatesTable(soulMatesTable);
doSoulMatesChanges(soulMatesTable, false, changes, ssml, true);
}
function doSoulMates() {
// Leer las almas gemelas del HTML
var soulMatesTable = XPATH_SML.findNode();
var ssml = getSavedSoulMatesLists();
var currentSoulMates = extractSoulMates(soulMatesTable);
if (ssml.last > 0) {
prepareSoulMatesTable(soulMatesTable);
var previousSoulMates = getSavedSoulMates(ssml.last);
var changes = findChangesAllSoulMates(currentSoulMates, previousSoulMates);
var newChanges = changes.changed;
var previousChanges = eval(GM_getValue(userId + '.smc'));
if (!changes.changed && (previousChanges != undefined)) {
log("No hay Cambios");
if (getPreference("KEEPSMCHANGES", true)) {
changes = previousChanges;
}
}
else {
log("Guardando los nuevos cambios");
GM_setValue(userId + '.smc', changes.toSource());
}
doSoulMatesChanges(soulMatesTable, newChanges, changes, ssml, false);
if (newChanges) {
saveSoulMates(ssml, ssml.last + 1, currentSoulMates);
}
}
else {
// Primera vez que detectamos Almas gemelas, borramos la lista de cambios
// por si acaso
GM_deleteValue(userId + '.smc');
saveSoulMates(ssml, ssml.last + 1, currentSoulMates);
}
}
doSoulMates();
/*
FIN ALMAS GEMELAS
*/
}
function doAlt2Title() {
var imgs = d.getElementsByTagName('img');
for (var i = 0; i < imgs.length; ++i)
if (imgs[i].hasAttribute('alt') && !imgs[i].hasAttribute('title'))
imgs[i].setAttribute('title', imgs[i].getAttribute('alt'));
}
function doAddOtherLinks() {
function linkYear(){
var nodoanio = "//dt[text()='Año']/following-sibling::*".findNode();
if(nodoanio != null) {
var anio = nodoanio.lastChild.textContent.trim();
nodoanio.removeChild(nodoanio.lastChild);
var newa = d.createElement('a');
newa.textContent = anio;
newa.href = "http://www.filmaffinity.com/es/advsearch.php?stext=&stype[]=title&genre=&country=&fromyear="+anio+"&toyear="+anio;
newa.target = "";
newa.style.color = "inherit";
newa.style.textDecoration = "none";
nodoanio.appendChild(newa);
}
}
function linkGuion(){
var nguion = "//dt[text()='Guión']/following-sibling::*".findNode();
if(nguion != null) {
var linea = nguion.textContent;
if(linea != ""){
nguion.removeChild(nguion.lastChild);
var aux = linea.split('(');
var gnistas = aux[0].split(',');
var txt = "";
var nombre = "";
for(ix in gnistas){
nombre = gnistas[ix].split(' ');
txt += '<a href="http://www.filmaffinity.com/es/advsearch.php?stext=' + gnistas[ix] + '&stype[]=script&genre=&country=&fromyear=&toyear=" ';
txt += 'target="" style="text-decoration: none; color:inherit">' + gnistas[ix] + '</a>';
if(ix != gnistas.length -1)
txt += ', ' ;
}
if(aux.length > 1){
txt += '(';
txt += aux[1];
}
nguion.innerHTML = txt;
}
}
}
function linkMusica(){
var nmusic = "//dt[text()='Música']/following-sibling::*".findNode();
if(nmusic != null) {
var linea = nmusic.textContent;
if(linea != ""){
nmusic.removeChild(nmusic.lastChild);
var aux = linea.split('(');
var musicos = aux[0].split(',');
var txt = "";
for(ix in musicos){
txt += '<a href="http://www.filmaffinity.com/es/advsearch.php?stext=' + musicos[ix] + '&stype[]=music&genre=&country=&fromyear=&toyear=" ';
txt += 'target="" style="text-decoration: none; color:inherit">' + musicos[ix] + '</a>';
if(ix != musicos.length -1)
txt += ', ' ;
}
if(aux.length > 1){
txt += '(';
txt += aux[1];
}
nmusic.innerHTML = txt;
}
}
}
function linkFoto(){
var nfoto = "//dt[text()='Fotografía']/following-sibling::*".findNode();
if(nfoto != null) {
var linea = nfoto.textContent;
if(linea != ""){
nfoto.removeChild(nfoto.lastChild);
var aux = linea.split('(');
var fotogs = aux[0].split(',');
var txt = "";
for(ix in fotogs){
txt += '<a href="http://www.filmaffinity.com/es/advsearch.php?stext=' + fotogs[ix] + '&stype[]=photo&genre=&country=&fromyear=&toyear=" ';
txt += 'target="" style="text-decoration: none; color:inherit">' + fotogs[ix] + '</a>';
if(ix != fotogs.length -1)
txt += ', ' ;
}
if(aux.length > 1){
txt += '(';
txt += aux[1];
}
nfoto.innerHTML = txt;
}
}
}
linkYear();
linkGuion();
linkMusica();
linkFoto();
}
function doExternalLinks() {
function extractTranslatedTitle() {
var nodo = "//h1[@id='main-title']".findNode();
return nodo.lastChild.textContent.clearTitle();
}
function extractOriginalTitle()
{
var nodo = "//dt[contains(text(),'tulo original')]/following-sibling::*".findNode();
return nodo.textContent.clearTitle();
}
function getLinkSitesCode(type, title, titletr, titleanm) {
var linkSiteTemplate = ' <a href="{LINK}" target="{TARGET}" ><img src="{ICON}" width=16 height=16 alt="{TITLE}" title="{TITLE}"></a>';
var html = '';
for (var i in linkSites) {
// @todo: si la preferencia es false la consulta se hace dos veces, optimizar
if (linkSites[i].type == type && ( getPreference(linkSites[i].name, true))) {
var sicon = linkSites[i].icon;
var stit = linkSites[i].name;
var sstr = '';
var target = getPreference('newwindow', true) ? '_blank' : '_self';
if (linkSites[i].search.search(/%searchtr/) > -1)
sstr = linkSites[i].search.replace(/%searchtr/, linkSites[i].method(titletr));
else if(linkSites[i].search.search(/%searchvo/) > -1)
sstr = linkSites[i].search.replace(/%searchvo/, linkSites[i].method(title));
else
sstr = linkSites[i].search.replace(/%searchanm/, linkSites[i].method(titleanm));
// Si tiene Opciones adicionales
if (linkSites[i].search.indexOf("{OPTIONS}") > -1) {
sstr = sstr.replace(/{OPTIONS}/g, linkSites[i].getOptions());
}
html += linkSiteTemplate.replace(/{LINK}/g, sstr).replace(/{ICON}/g, sicon).replace(/{TARGET}/g, target).replace(/{TITLE}/g, stit);
}
}
return html;
}
//Añadir enlaces en título
function doAddLinksInTitle() {
var translatedTitle = extractTranslatedTitle();
var originalTitle = extractOriginalTitle();
if ("//span[@itemprop='name']".findNode().textContent.indexOf("Serie de TV") > -1){
var auxanm = "//dt[contains(text(),'tulo original')]/following-sibling::*".findNode().textContent;
var coincidencias = auxanm.match(/\(/g);
var numcars = coincidencias ? coincidencias.length : 0;
if(numcars == 1)
var animeTitle = originalTitle;
else
var animeTitle = auxanm.split('(')[1].split(')')[0];
}
else {
var auxanm = "//dt[contains(text(),'tulo original')]/following-sibling::*".findNode().textContent;
var coincidencias = auxanm.match(/\(/g);
var numcars = coincidencias ? coincidencias.length : 0;
if(numcars == 1)
var animeTitle = auxanm.split('(')[1].split(')')[0];
else
var animeTitle = originalTitle;
}
//var titlediv = "//img[@src='http://www.filmaffinity.com/images/movie.gif']/parent::*/parent::*".findNode();
var titlediv = "//h1[@id='main-title']/span".findNode();
var midiv = d.createElement('div');
midiv.style.marginTop = "-4px";
var types = [_TFILM, _TGEN, _TDOWN, _TSUB];
for (var t in types) {
var tmp = '';
var txt = linkSitesTypes[types[t]].caption;
if (getPreference(linkSitesTypes[types[t]].preference, true)) {
tmp += getLinkSitesCode(types[t], originalTitle, translatedTitle, animeTitle);
}
if (tmp != '')
midiv.innerHTML += '<span style="color:#000000; font-size:11px; font-family: Arial; font-weight: bold; padding-left: 1em; font-style: normal;">' + txt + tmp + '</span>';
}
titlediv.appendChild(midiv);
}
//
// Añade los enlaces Externos en el panel de la derecha
//
function doAddLinksOnPanel() {
var nodo = "//div[text()='Listas']".findNode();
nodo = nodo.parentNode;
var originalTitle = extractOriginalTitle();
var translatedTitle = extractTranslatedTitle();
if ("//span[@itemprop='name']".findNode().textContent.indexOf("Serie de TV") > -1)
var animeTitle = "//dt[contains(text(),'tulo original')]/following-sibling::*".findNode().textContent.split('(')[1].split(')')[0];
else
var animeTitle = originalTitle;
/*
var html = '<td align="center">\n<table bgcolor="#ddddff" border="0" cellpadding="0" cellspacing="1" width="100%">\n <tbody>';
html += '<tr><td bgcolor="#ffffff">\n\n<table border="0" cellpadding="2" cellspacing="2" width="100%">\n<tbody>';
html += '{LINKS}\n</tbody></table>\n\n </td></tr>\n </tbody></table>\n </td>';*/
var html = '<div class="add-movie-list-cont"><div>{TITLE}</div></div>';
var linkTemplate = '<tr>\n <td align="center">\n <div style="position: relative;">\n\n';
linkTemplate += '<div style="color: rgb(0, 51, 102); font-size: 12px;"><b>{TITLE}</b></div>\n\n</div>\n\n </td>\n </tr>\n';
linkTemplate += '<tr><td align="center">{LINKS}</td></tr>';
var links = "";
var texto;
if (getPreference("verCine", true)) {
texto = getLinkSitesCode(_TFILM, originalTitle, translatedTitle, animeTitle);
if (texto != '') links += linkTemplate.replace(/{TITLE}/g, "Ficha").replace(/{LINKS}/g, texto);
}
if (getPreference("verGeneral", true)) {
texto = getLinkSitesCode(_TGEN, originalTitle, translatedTitle, animeTitle);
if (texto != '') links += linkTemplate.replace(/{TITLE}/g, "Buscar").replace(/{LINKS}/g, texto);
}
if (getPreference("verDescargas", true)) {
texto = getLinkSitesCode(_TDOWN, originalTitle, translatedTitle, animeTitle);
if (texto != '') links += linkTemplate.replace(/{TITLE}/g, "Descargas").replace(/{LINKS}/g, texto);
}
if (getPreference("verSubtitulos", true)) {
texto = getLinkSitesCode(_TSUB, originalTitle, translatedTitle, animeTitle);
if (texto != '') links += linkTemplate.replace(/{TITLE}/g, "Subtitulos").replace(/{LINKS}/g, texto);
}
var spacer = document.createElement("TR");
spacer.innerHTML = "<td> </td>";
nodo.parentNode.insertBefore(spacer, nodo);
var nodoTr = document.createElement("TR");
nodo.parentNode.insertBefore(nodoTr, nodo.previousSibling);
nodoTr.innerHTML = html.replace(/{LINKS}/g, links);
}
//
// Añade los enlaces Externos en la ficha de la pelicula
//
function doAddLinksInline() {
var originalTitle = extractOriginalTitle();
var translatedTitle = extractTranslatedTitle();
var animeTitle = "";
if ("//span[@itemprop='name']".findNode().textContent.indexOf("Serie de TV") > -1){
var auxanm = "//dt[contains(text(),'tulo original')]/following-sibling::*".findNode().textContent;
var coincidencias = auxanm.match(/\(/g);
var numcars = coincidencias ? coincidencias.length : 0;
if(numcars == 1)
animeTitle = originalTitle;
else
animeTitle = auxanm.split('(')[1].split(')')[0];
}
else {
var auxanm = "//dt[contains(text(),'tulo original')]/following-sibling::*".findNode().textContent;
var coincidencias = auxanm.match(/\(/g);
var numcars = coincidencias ? coincidencias.length : 0;
if(numcars == 1)
animeTitle = auxanm.split('(')[1].split(')')[0];
else
animeTitle = originalTitle;
}
log("-Título original: " + originalTitle + " - Título traducido: " + translatedTitle);
// recogemos el tr padre de la columna 'productora'
var nodoProductora = "//dt[text()='Productora']".findNode();
// Fichas
addDataRow(nodoProductora, "verSubtitulos", 'Subtitulos', _TSUB, originalTitle, translatedTitle, animeTitle);
addDataRow(nodoProductora, "verDescargas", 'Descargas', _TDOWN, originalTitle, translatedTitle, animeTitle);
addDataRow(nodoProductora, "verGeneral", 'Buscar', _TGEN, originalTitle, translatedTitle, animeTitle);
addDataRow(nodoProductora, "verCine", 'Ficha', _TFILM, originalTitle, translatedTitle, animeTitle);
}
// Añadimos los enlaces en la pagina de busqueda
function doAddLinksSearch() {
var nodo = "//div[@class='sub-header-search']".findNode();
var nodog = "//div[@class='main-search-wrapper']".findNode();
nodog.style.marginRight = "0px";
if (nodo != null) {
var busqueda = d.forms[0].elements[0].value;
var types = [_TFILM, _TGEN, _TDOWN, _TSUB];
var html = "<td><b> Búsquedas adicionales:</b> ";
for (var t in types) {
var type = types[t];
if (getPreference(linkSitesTypes[types[t]].preference, true)) {
html += getLinkSitesCode(type, busqueda, busqueda, busqueda) + " ";
}
}
html += "<br></br></td>";
var nodoDiv = d.createElement('div');
nodoDiv.style.height = "25px";
nodoDiv.style.borderBottom="1px solid #000000";
nodoDiv.innerHTML = html;
nodo.parentNode.insertBefore(nodoDiv,nodo);
}
}
function addDataRow(sibling, preference, title, type, originalTitle, translatedTitle, animeTitle) {
if (getPreference(preference, true)) {
var html = getLinkSitesCode(type, originalTitle, translatedTitle, animeTitle);
if (html != "") {
var nodoDt = d.createElement('dt');
var nodoDd = d.createElement('dd');
nodoDt.textContent = title;
nodoDd.innerHTML = html;
sibling.parentNode.insertBefore(nodoDt, sibling.nextSibling.nextSibling.nextSibling);
nodoDt.parentNode.insertBefore(nodoDd, nodoDt.nextSibling);
}
}
}
if (inSection('Film')) {
var doFunction;
switch (getPreference("linksPosition", "default")) {
case "default": doFunction = doAddLinksInline;break;
case "inTitle": doFunction = doAddLinksInTitle;break;
//case "inPanel": doFunction = doAddLinksOnPanel;break;
}
doFunction();
}
else {
if(getPreference("SHOWEXTERNALS", true))
doAddLinksSearch();
}
;
}
function installSearchEngine() {
log("Instalando buscador");
window.setTimeout("window.sidebar.addSearchEngine('http://mycroft.mozdev.org/install.php/1913/filmaffinity_es.src', 'http://mycroft.mozdev.org/install.php/1913/filmaffinity_es.gif', 'FilmAffinity ES', 'as');", 50);
log("-instalado");
}
//var limitUrls = ['/es/topgen.php','/es/smsrec.php'];
/*
* Modifica los menús originales de FA
*/
function doAlterLimits() {
/*
var nodo = null;
var limit = getPreference("limit", 20);
for (ix in limitUrls) {
nodo = ('//a[@href="' + limitUrls[ix] + '"]').findNode();
if (nodo != null && typeof nodo != "undefined") {
nodo.href = nodo.href + "?limit=" + limit;
}
}*/
}
function doCaptureLists() {
var myid = getPreference('idinput');
var nlists = "//div[@id='my-lists-count']/span".findNode().textContent;
nlists = parseInt(nlists);
var npages = Math.ceil(nlists/100);
deleteValues(userId + ".list.");
var npage = 1;
while(npage <= npages){
url = "http://www.filmaffinity.com/es/userlists.php?user_id=" + myid + "&p=" + npage;
doGet(url, function(response) {
response = response.replace("<img", "<omg"); // Para que no se ponga a cargar las peliculas
var emptydiv = document.createElement('div');
emptydiv.innerHTML = response;
capturar_listas(emptydiv);
});
npage++;
}
function capturar_listas(div){
var t_lists = '//div[@class="list-name-wrapper"]/a'.findNodesArray(div);
var listas = [];
var nlistasa = 0;
for (var i = 0; i < t_lists.length; i++) {
var listName = t_lists[i].textContent;
var listId = t_lists[i].href.split('=')[2];
listas[i] = {'id':listId,'name':listName};
GM_setValue(userId + ".list." + listId, listName);
nlistasa = getValues(userId + ".list.");
log("Listas añadidas: " + nlistasa.length);
}
}
}
function doRatingStyle() {
// TODO: modificar
function getRatingFromImg(img) {
if (img.src.indexOf('ns.gif') > - 1) return 0;
return img.src.split('ratings/')[1].split('.')[0];
}
function getRatingImageCode(j, rating, schema) {
var imgTemplate = "<img src='{SOURCE}' class='ratingimg' alt='" + rating + ' - ' + ratings[rating] + "'>";
return imgTemplate.replace(/{SOURCE}/g, j > rating ? ratingStyles[schema].iconOff : ratingStyles[schema].iconOn);
}
function doChangeRatingStyle() {
log("Cambiar estilo de las puntuaciones");
var schema = getPreference('ratingStyle', 'default');
if (schema == 'default') return;
// Obtenemos las imagenes a cambiar
var images = "//img[contains(@src,'ratings')]".findNodesArray();
for (var ix in images) {
var img = images[ix];
var rating = getRatingFromImg(img);
if (rating > 0) {
var html = "";
for (var j = 1; j < 11; j++) {
html += getRatingImageCode(j, rating, schema);
}
var divNode = d.createElement('DIV');
divNode.style.width = "160";
divNode.innerHTML = html;
img.parentNode.insertBefore(divNode, img);
img.parentNode.removeChild(img);
}
}
}
doChangeRatingStyle();
}
function doAddFlagsMyData() {
var styleTemplate = 'padding-left: 21px; background: url("{URL}") no-repeat scroll center left';
var baseUrl = "http://www.filmaffinity.com/imgs/countries/";
var countriesTable = "//td[text()='Estados Unidos']/ancestor::*[position()=2]".findNode();
var aux = "//h1[text()='Mis Datos']".findNode();
aux = aux.parentNode.parentNode.parentNode.parentNode.parentNode;
aux.style.width = "100%";
for (var i = 0; i < countriesTable.rows.length; ++i) {
countriesTable.rows[i].cells[0].setAttribute('class','odd_votes');
countriesTable.rows[i].cells[0].setAttribute('style',
styleTemplate.replace(/{URL}/g, baseUrl + getCountryCode(countriesTable.rows[i].cells[0].textContent) + ".jpg"));
}
}
function doAddFlagsToOptionsSel() {
if (inSection('TopGen'))
doAddFlagsToOptions(d.forms[1].elements[2]);
else if (inSection('AdvSearch'))
doAddFlagsToOptions(d.forms[1].elements[9]);
else if (inSection('UptMyData'))
doAddFlagsToOptions(d.forms[1].elements[5]);
}
function doAddFlagsToOptions(o) {
//var paises = "";
//var code = "";
log("Añadir banderas a options");
for (var i = 0; i < o.options.length; ++i) {
o.options[i].setAttribute('style', 'padding-left: 19px; background: white url("http://www.filmaffinity.com/imgs/countries/' + o.options[i].value + '.jpg") no-repeat scroll center left');
if (typeof getCountryCode(o.options[i].textContent) == "undefined") {
//paises += o.options[i].textContent + ",";
//code += '"' + o.options[i].textContent + '":"' + o.options[i].value + '",';
}
}
//log(paises);
//log(code);
o.setAttribute('style', 'padding-left: 19px; background: white url("http://www.filmaffinity.com/imgs/countries/' + o.options[o.selectedIndex].value + '.jpg") no-repeat scroll center left');
o.addEventListener("change", doAddFlagsToOptionsSel, true);
o.addEventListener("keyup", doAddFlagsToOptionsSel, true);
log("-fin banderas a options");
}
function poner_banderas(){
var nprub = "//div[@class='user-friend-info']".findNodesArray();
var ndatos = "//td[@class='avg-ratings']".findNode();
//alert(ndatos.childNodes.length);
}
function doAddFlagsToFriends() {
/*
window.onload=function(){
setTimeout(poner_banderas, 200)
}
*/
//alert('entro');
// var nprub = "//div[@id='user-friend-878650']".findNode();
// alert(nprub.nodeName);
/*var friendsTable = "//span[text()='Nombre/Nick']/ancestor::*[position()=4]".findNode();
for (var i = 1; i < friendsTable.rows.length - 1; i++) {
var localidad = friendsTable.rows[i].cells[1].textContent.reverse();
var pais = localidad.substr(1, localidad.indexOf('(') - 1).reverse();
var code = getCountryCode(pais);
friendsTable.rows[i].cells[1].setAttribute('style', 'padding-left: 22px; background: white url("http://www.filmaffinity.com/imgs/countries/' + code + '.jpg") no-repeat scroll center left');
}*/
}
function doAddFlagsToExtraContacts() {
var contactsTable = "//table[@id='newFriends']".findNode();
for (var i = 1; i < contactsTable.rows.length; i++) {
var localidad = contactsTable.rows[i].cells[1].textContent.reverse();
var pais = localidad.substr(1, localidad.indexOf('(') - 1).reverse();
var code = getCountryCode(pais);
contactsTable.rows[i].cells[1].setAttribute('style', 'padding-left: 22px; background: white url("http://www.filmaffinity.com/imgs/countries/' + code + '.jpg") no-repeat scroll center left');
}
}
var contentPrefix = "";
function doEnableVotes() {
function doFilmVote(id, current) {
var url = "http://www.filmaffinity.com/es/ratemovie.php?id={PELICULA}&rating={VOTO}&ucd={UCD}&ts=" + (new Date()).valueOf();
var pelicula = id.split(':')[1];
var voto = id.split(':')[2];
var nodename = pelicula + ":" + ((current == 0) ? '-' : current);
var nodo = $id(nodename);
var ucd = getPreference("UCD", false);
if (typeof ucd != "undefined" && ucd) {
if (voto != current) {
nodo.innerHTML = contentPrefix + "<img src='" + upload_img + "'/>";
url = url.replace(/{PELICULA}/g, pelicula).replace(/{VOTO}/g, voto).replace(/{UCD}/g, ucd);
doGet(url, function (response) {
if (voto == 0) {
nodo.innerHTML = contentPrefix + "-";
nodo.id = pelicula + ":-";
}
else {
nodo.innerHTML = contentPrefix + voto;
nodo.id = pelicula + ":" + voto;
}
});
}
}
hideVoteMenu();
}
function hideVoteMenu() {
d.body.removeChild($id('panel_votacion'));
d.body.removeChild($id('backgroundLayer'));
}
var puntuaciones = { 0:'No vista',
10:'Excelente',
9:'Muy buena',
8:'Notable',
7:'Buena',
6:'Interesante',
5:'Pasable',
4:'Regular',
3:'Floja',
2:'Mala',
1:'Muy mala'};
function showVoteMenu(e) {
var listItemTemplate = '<td class="menu"><span class="{CLASS}" id="{ID}" href="#">{NAME}</span></td>';
var ancho = 80;
var pelicula = this.id.split(':')[0];
var voto = this.id.split(':')[1];
if (voto == '-') voto = 0;
var numItems = 11;
var numColumns = 1;
var numItemsPerColumn = 11;
var alto = (Math.min(numItems, numItemsPerColumn)) * 15;
var ucd = getPreference("UCD", false);
if (typeof ucd == "undefined" || !ucd) {
alert("Es necesario que visite la pagina de AutoTour para poder votar desde aqui.");
return;
}
if (numItems > 0) {
GM_addStyle('#backgroundLayer { width: 100%; height: 100%; background-color: white; position: fixed; left: 0; right: 0; top: 0; bottom: 0; opacity: 0; }');
GM_addStyle('#panel_votacion { color: black; background-color: #FFF; text-align: center; border: 1px solid gray; width:auto; height: ' + alto + 'px; opacity: 1; position: absolute; left: 0; top: 0; overflow: auto; }');
GM_addStyle("#panel_votacion td.menu {border-top:1px solid #EEEEEE;background-color:#FFF;}");
GM_addStyle("#panel_votacion span.emptyItem {background-color: #FFF;}");
GM_addStyle('td.menu span.listItem {cursor:pointer;padding:1px 10px 1px 5px; color: black; background-color: #FFF; font-size: 9px; font-family: Verdana,Arial,Helvetica,sans-serif; text-decoration: none; text-indent: 3px; cursor: hand; display: block}');
GM_addStyle('td.menu span.listItem:hover {padding:1px 10px 1px 5px; color: #003366; background-color: #FFCC00; font-size: 9px; font-family: Verdana,Arial,Helvetica,sans-serif; text-decoration: none; text-indent: 3px; cursor: hand; display: block }');
GM_addStyle('td.menu span.delListItem {cursor:pointer;padding:1px 10px 1px 5px; color: black; background-color: #E0FFE0; font-size: 9px; font-family: Verdana,Arial,Helvetica,sans-serif; text-decoration: none; text-indent: 3px; cursor: hand; display: block}');
GM_addStyle('td.menu span.delListItem:hover {padding:1px 10px 1px 5px; color: #003366; background-color: #FF6666; font-size: 9px; font-family: Verdana,Arial,Helvetica,sans-serif; text-decoration: none; text-indent: 3px; cursor: hand; display: block }');
var background = d.createElement('DIV');
background.id = 'backgroundLayer';
d.body.appendChild(background);
var panel = d.createElement('DIV');
panel.id = 'panel_votacion';
var html = '<table width="auto" cellspacing="0" cellpadding="0" border="0" bgcolor="#415570" class="rmenu">';
html += '<tbody>';
for (var ix in puntuaciones) {
html += '<tr>';
var text = ((ix > 0) ? ix + ' - ' : '') + puntuaciones[ix];
var clase = ((ix == voto) ? 'delListItem' : 'listItem');
var id = "VOTO:" + pelicula + ":" + ix;
html += listItemTemplate.replace(/{ID}/g, id).replace(/{NAME}/g, text).replace(/{CLASS}/g, clase);
html += '</tr>';
}
html += '</tbody></table>';
panel.innerHTML = html;
var centro;
var left = e.clientX;
var top = e.clientY;
if (left + (ancho * numColumns + 2) > document.body.clientWidth) {
centro = (document.body.clientWidth / 2) - ((ancho * numColumns + 2) / 2);
left = Math.max(document.body.clientWidth - (ancho * numColumns + 2) - 10, centro);
}
if ((top + alto) > document.body.clientHeight) {
centro = (document.body.clientHeight / 2) - (alto / 2);
top = Math.max(document.body.clientHeight - (alto + 20), centro);
}
panel.style.left = left + document.body.scrollLeft;
panel.style.top = top + document.body.scrollTop;
d.body.appendChild(panel);
$id("backgroundLayer").addEventListener("click", hideVoteMenu, true);
for (ix in puntuaciones) {
id = "VOTO:" + pelicula + ":" + ix;
$id(id).addEventListener("click", function() {
doFilmVote(this.id, voto);
}, false);
}
} else {
alert("Error interno");
}
}
//
// añade el envento onClick a las celdas ultima-posicion de las filas en rows
//
function insertEventListeners(rows, posicion, skipStart, skipEnd) {
for (var i = skipStart; i < (rows.length - skipEnd); i++) {
var row = rows[i];
var celda = row.cells[row.cells.length - 1 - posicion];
celda.addEventListener("click", showVoteMenu, true);
}
}
function prepareTable_MyList() {
var filmsTable = "//b[text()='Tu voto']/ancestor::*[position()=4]".findNode();
for (var i = 1; i < filmsTable.rows.length - 2; i++) {
var row = filmsTable.rows[i];
var pelicula = "td/a[@class='posn']/@id".findNode(row).textContent.split('ch')[1];
var celda = row.cells[row.cells.length - 2];
celda.style.cursor = "pointer";
celda.id = pelicula + ":" + celda.textContent;
}
}
if (inSection('UserList')) {
if (getPreference('SHOWVOTESONFRIENDLISTS'))
insertEventListeners("//b[text()='Su voto']/ancestor::*[position()=4]".findNode().rows, 0, 1, 0);
} else if (inSection('Search')) {
if (getPreference('SHOWVOTESONFRIENDLISTS'))
insertEventListeners("//img[contains(@src,'countries')]/ancestor::*[position()=6]".findNodesArray(), 0, 0, 0);
} else if (inSection('MyList')) {
prepareTable_MyList();
insertEventListeners("//b[text()='Tu voto']/ancestor::*[position()=4]".findNode().rows, 1, 1, 1);
}
}
//Función que añade un link para vaciar la lista temporal
function doAddLinkEmptyWorkList(){
var nodo = '//a[contains(@href,"contact_us.php")]'.findNode();
//Panel de configuracion
var newlipn = d.createElement('li');
var newa2 = d.createElement('a');
newa2.textContent = "Panel de Configuración";
newa2.href = "#";
newa2.addEventListener("click",preferences, false);
newlipn.appendChild(newa2);
nodo.parentNode.parentNode.appendChild(newlipn);
var newli = d.createElement('li');
var newa = d.createElement('a');
newa.id = "vaciar-lista";
newa.textContent = "Vaciar lista temporal";
newa.href = "#vaciar-lista";
newa.addEventListener("click", vaciar_ltemp, true);
newli.appendChild(newa);
nodo.parentNode.parentNode.appendChild(newli);
function emptyWorkList(votos) {
var workList = getPreference("idltemp");
if (workList != 'none') {
var url = "http://www.filmaffinity.com/es/rcmlistmovies.php";
var data = "action=remove";
data += "&list_id=" + workList;
data += "&rc=js/esp.js";
for (var ix in votos) {
data += "&movie_ids[]=" + votos[ix].pelicula;
}
doPost(url, data, function (result) {
log("lista temporal vaciada");
});
}
}
function extractVotesFromList(div) {
//var nodos = "//img[contains(@src,'countries')]/parent::*/a".findNodesArray(div);
var nodos = "//div[@class='mc-title']/a".findNodesArray(div);
var votes = "//div[@class='rat-movie']".findNodesArray(div);
var votos = [];
for (var ix in nodos) {
var pelicula = nodos[ix].href.split("es/film")[1].split(".")[0];
//var temp = "ancestor::*[position()=10]".findNode(nodos[ix]);
//var voto = temp.parentNode.cells[temp.cellIndex + 1].textContent;
var voto = votes[ix].textContent;
votos.push({pelicula:pelicula,puntuacion:voto});
}
return votos;
}
function vaciar_ltemp(){
var myid = getUserId();
var list = getPreference("idltemp");
var url = "http://www.filmaffinity.com/es/userlist.php?user_id=" + myid + "&list_id=" + list;
doGet(url, function(response) {
response = response.replace("<img", "<omg"); // Para que no se ponga a cargar las peliculas
var emptydiv = document.createElement('div');
emptydiv.innerHTML = response;
var votos = extractVotesFromList(emptydiv);
v1 = votos.length;
// Borrar lista temporal
if(v1 > 0)
emptyWorkList(votos);
});
}
}
function doAddDataFromIMDB(){
function rellenarDesdeIMDB(){
var nodoi = "//input[@name='imdb_code']".findNode();
var codigoIMDB = nodoi.value;
var nodop = "//input[@name='otitle']".findNode();
if(codigoIMDB.length == 7 && nodop.value == ""){
// Metemos directores, reparto, fotografia y musica
url = "http://www.imdb.com/title/tt" + codigoIMDB + "/fullcredits";
doGet(url, function(response) {
response = response.replace("<img", "<omg"); // Para que no se ponga a cargar las peliculas
var emptydiv = document.createElement('div');
emptydiv.innerHTML = response;
var nododr = "//input[@name='director']".findNode();
var nododri = "//a[contains(@href,'ttfc_fc_dr')]".findNodesArray(emptydiv);
var directores = "";
if(nododri.length > 0){
for(i = 0; i < nododri.length; i++){
directores += nododri[i].textContent.substring(1, nododri[i].textContent.length-1);
if(i != nododri.length-1)
directores += ", ";
}
}
nododr.value = directores;
var nodogui1 = "//input[@name='script_en']".findNode();
var nodogui2 = "//input[@name='script_es']".findNode();
var nodoguii = "//a[contains(@href,'fc_wr')]".findNodesArray(emptydiv);
var aux1 = "", aux2 = "";
if(nodoguii.length > 0){
for(i = 0; i < nodoguii.length; i++){
var auxg = nodoguii[i].textContent.substring(1,nodoguii[i].textContent.length);
if(nodoguii[i].parentNode.parentNode.textContent.indexOf("novel") > 0)
aux2 += auxg + ", ";
else
aux1 += auxg + ", ";
}
nodogui1.value = aux1.substring(0, aux1.length-2);
nodogui2.value = aux1.substring(0, aux1.length-2);
if(aux2 != ""){
nodogui1.value += " (Novel: " + aux2.substring(0, aux2.length-2) + ")";
nodogui2.value += " (Novela: " + aux2.substring(0, aux2.length-2) + ")";
}
}
var nodorep = "//textarea[@name='cast']".findNode();
var nodorepi = "//td[@itemprop='actor']".findNodesArray(emptydiv);
var reparto = "";
if(nodorepi.length > 0){
for(i = 0; i < nodorepi.length && i < 12; i++){
reparto += nodorepi[i].childNodes[1].childNodes[1].textContent;
if(i != nodorepi.length-1 && i != 11)
reparto += ", ";
}
}
nodorep.value = reparto;
var nodofot = "//input[@name='photo']".findNode();
var nodofoti = "//h4[contains(text(),'Cinematography by')]".findNode(emptydiv);
var fotog = "";
if(nodofoti != undefined){
nodofoti = nodofoti.nextSibling.nextSibling.childNodes[3];
for(var i = 1; i < nodofoti.childNodes.length; i+=2){
fotog += nodofoti.childNodes[i].childNodes[1].childNodes[1].textContent.substring(1,nodofoti.childNodes[i].childNodes[1].childNodes[1].textContent.length-1);
if(i < nodofoti.childNodes.length-2)
fotog += ", ";
}
}
nodofot.value = fotog;
var nodomus1 = "//input[@name='music_en']".findNode();
var nodomus2 = "//input[@name='music_es']".findNode();
var nodomusi = "//h4[contains(text(),'Music by')]".findNode(emptydiv);
var music = "";
if(nodomusi != undefined){
nodomusi = nodomusi.nextSibling.nextSibling.childNodes[3];
for(var i = 1; i < nodomusi.childNodes.length; i+=2){
music += nodomusi.childNodes[i].childNodes[1].childNodes[1].textContent.substring(1,nodomusi.childNodes[i].childNodes[1].childNodes[1].textContent.length-1);
if(i < nodomusi.childNodes.length-2)
music += ", ";
}
}
nodomus1.value = music;
nodomus2.value = music;
});
// Metemos el resto (titulos, guion, año, duracion, sinopsis ingles, productora
url = "http://www.imdb.com/title/tt" + codigoIMDB;
doGet(url, function(response) {
response = response.replace("<img", "<omg"); // Para que no se ponga a cargar las peliculas
var emptydiv = document.createElement('div');
emptydiv.innerHTML = response;
var generos = "//a[contains(@href,'_stry_gnr')]".findNodesArray(emptydiv);
var paisi = "//a[contains(@href,'country/')]".findNode(emptydiv);
var pais = "//select[@name='country']".findNode();
if(paisi.textContent == "Spain")
pais.value = "ES";
else if(paisi.textContent == "Japan")
pais.value = "JP";
else if(paisi.textContent == "Germany")
pais.value = "DE";
else if(paisi.textContent == "UK")
pais.value = "GB";
else if(paisi.textContent == "Italy")
pais.value = "IT";
else if(paisi.textContent == "West Germany")
pais.value = "FF";
else if(paisi.textContent == "Afghanistan")
pais.value = "AF";
else if(paisi.textContent == "Argentina")
pais.value = "AR";
else if(paisi.textContent == "Austria")
pais.value = "AT";
else if(paisi.textContent == "Australia")
pais.value = "AU";
else if(paisi.textContent == "Belgium")
pais.value = "BE";
else if(paisi.textContent == "Belarus")
pais.value = "BY";
else if(paisi.textContent == "Bolivia")
pais.value = "BO";
else if(paisi.textContent == "Bosnia and Herzegovina")
pais.value = "BA";
else if(paisi.textContent == "Bulgaria")
pais.value = "BG";
else if(paisi.textContent == "Brazil")
pais.value = "BR";
else if(paisi.textContent == "Canada")
pais.value = "CA";
else if(paisi.textContent == "Czechoslovakia")
pais.value = "ZX";
else if(paisi.textContent == "Chile")
pais.value = "CL";
else if(paisi.textContent == "Czechoslovakia")
pais.value = "CN";
else if(paisi.textContent == "Colombia")
pais.value = "CO";
else if(paisi.textContent == "South Korea")
pais.value = "KR";
else if(paisi.textContent == "Croatia")
pais.value = "HR";
else if(paisi.textContent == "Cuba")
pais.value = "CU";
else if(paisi.textContent == "Denmark")
pais.value = "DK";
else if(paisi.textContent == "Ecuador")
pais.value = "EC";
else if(paisi.textContent == "Egypt")
pais.value = "EG";
else if(paisi.textContent == "Estonia")
pais.value = "EE";
else if(paisi.textContent == "Philippines")
pais.value = "PH";
else if(paisi.textContent == "Finland")
pais.value = "FI";
else if(paisi.textContent == "France")
pais.value = "FR";
else if(paisi.textContent == "Greece")
pais.value = "GR";
else if(paisi.textContent == "Hong Kong")
pais.value = "HK";
else if(paisi.textContent == "Hungary")
pais.value = "HU";
else if(paisi.textContent == "India")
pais.value = "IN";
else if(paisi.textContent == "Indonesia")
pais.value = "ID";
else if(paisi.textContent == "Iran")
pais.value = "IR";
else if(paisi.textContent == "Ireland")
pais.value = "IE";
else if(paisi.textContent == "Iceland")
pais.value = "IS";
else if(paisi.textContent == "Israel")
pais.value = "IL";
else if(paisi.textContent == "Lebanon")
pais.value = "LB";
else if(paisi.textContent == "Malaysia")
pais.value = "MY";
else if(paisi.textContent == "Morocco")
pais.value = "MA";
else if(paisi.textContent == "Mexico")
pais.value = "MX";
else if(paisi.textContent == "Mongolia")
pais.value = "MN";
else if(paisi.textContent == "Nicaragua")
pais.value = "NI";
else if(paisi.textContent == "Nigeria")
pais.value = "NG";
else if(paisi.textContent == "Norway")
pais.value = "NO";
else if(paisi.textContent == "New Zealand")
pais.value = "NZ";
else if(paisi.textContent == "Netherlands")
pais.value = "NL";
else if(paisi.textContent == "Paraguay")
pais.value = "PY";
else if(paisi.textContent == "Peru")
pais.value = "PE";
else if(paisi.textContent == "Poland")
pais.value = "PL";
else if(paisi.textContent == "Portugal")
pais.value = "PT";
else if(paisi.textContent == "Czech Republic")
pais.value = "CZ";
else if(paisi.textContent == "Romania")
pais.value = "RO";
else if(paisi.textContent == "Russia")
pais.value = "RU";
else if(paisi.textContent == "Serbia")
pais.value = "RS";
else if(paisi.textContent == "Serbia and Montenegro")
pais.value = "RR";
else if(paisi.textContent == "Singapore")
pais.value = "SG";
else if(paisi.textContent == "Sweden")
pais.value = "SE";
else if(paisi.textContent == "Switzerland")
pais.value = "CH";
else if(paisi.textContent == "Thailand")
pais.value = "TH";
else if(paisi.textContent == "Taiwan")
pais.value = "TW";
else if(paisi.textContent == "Turkey")
pais.value = "TR";
else if(paisi.textContent == "Ukraine")
pais.value = "UA";
else if(paisi.textContent == "Soviet Union")
pais.value = "ZY";
else if(paisi.textContent == "Uruguay")
pais.value = "UY";
else if(paisi.textContent == "Venezuela")
pais.value = "VE";
else if(paisi.textContent == "Vietnam")
pais.value = "VN";
else if(paisi.textContent == "Federal Republic of Yugoslavia")
pais.value = "YU";
var nodote = "//input[@name='title_es']".findNode();
var nodotei = "//title".findNode(emptydiv);
nodote.value = nodotei.textContent.split(" (")[0];
var nodoto = "//input[@name='otitle']".findNode();
var nodotoi = "//span[@class='title-extra']".findNode(emptydiv);
if(nodotoi != undefined)
nodoto.value = nodotoi.textContent.split("\"")[1];
else
nodoto.value = nodote.value;
var nododur = "//input[@name='runtime']".findNode();
var nododuri = "//time[@itemprop='duration']".findNode(emptydiv);
if(nododuri != undefined){
var duracion = nododuri.textContent.trim().split("min")[0];
nododur.value = duracion;
}
//Añadir generos
if("//td[contains(text(),'Series cast summary')]".findNode(emptydiv) != undefined){
javascript:addGenre('TV_SE');
nodote.value = nodote.value + " (Serie de TV)";
nodoto.value = nodoto.value + " (TV Series)";
}
var nodofot = "//input[@name='photo']".findNode();
var isAnim = false;
var isCom = false, isTer = false, isRom = false, isDr = false;
for(var ix in generos){
if(generos[ix].textContent.trim() == "Animation"){
nodofot.value = "Animation";
var nodorep = "//textarea[@name='cast']".findNode();
nodorep.value = "Animation";
javascript:addGenre('AN');
isAnim = true;
}
else if(generos[ix].textContent.trim() == "Documentary"){
var nodorep = "//textarea[@name='cast']".findNode();
nodorep.value = "Documentary, " + nodorep.value;
javascript:addGenre('DO');
}
else if(generos[ix].textContent.trim() == "Action")
javascript:addGenre('AC');
else if(generos[ix].textContent.trim() == "Adventure")
javascript:addGenre('AV');
else if(generos[ix].textContent.trim() == "War")
javascript:addGenre('BE');
else if(generos[ix].textContent.trim() == "Drama"){
javascript:addGenre('DR');
isDr = true;
}
else if(generos[ix].textContent.trim() == "Comedy"){
javascript:addGenre('CO');
isCom = true;
}
else if(generos[ix].textContent.trim() == "Fantasy")
javascript:addGenre('FAN');
else if(generos[ix].textContent.trim() == "Family")
javascript:addTopic('685184');
else if(generos[ix].textContent.trim() == "Film-Noir")
javascript:addGenre('F-N');
else if(generos[ix].textContent.trim() == "Mystery")
javascript:addGenre('INT');
else if(generos[ix].textContent.trim() == "Musical")
javascript:addGenre('MU');
else if(generos[ix].textContent.trim() == "Romance"){
javascript:addGenre('RO');
isRom = true;
}
else if(generos[ix].textContent.trim() == "Horror"){
javascript:addGenre('TE');
isTer = true;
}
else if(generos[ix].textContent.trim() == "Thriller")
javascript:addGenre('TH');
else if(generos[ix].textContent.trim() == "Western")
javascript:addGenre('WE');
else if(generos[ix].textContent.trim() == "Sci-Fi")
javascript:addGenre('C-F');
else if(generos[ix].textContent.trim() == "Crime")
javascript:addTopic('524594');
}
if(isCom && isTer)
javascript:addTopic('689483');
if(isCom && isRom)
javascript:addTopic('848078');
if(isCom && isDr)
javascript:addTopic('899776');
if(isDr && isRom)
javascript:addTopic('424086');
var color = "//h4[contains(text(),'Color:')]".findNode(emptydiv);
color = color.nextSibling.nextSibling;
if(color.textContent.indexOf("lack and White") > 0)
nodofot.value = nodofot.value + " (B&W)";
var mudo = "//h4[contains(text(),'Sound Mix:')]".findNode(emptydiv);
if(mudo != undefined){
mudo = mudo.nextSibling.nextSibling;
if(mudo.textContent.indexOf("ilent") > 0){
javascript:addTopic('728806');
var nodomus1 = "//input[@name='music_en']".findNode();
nodomus1.value = "Silent film";
var nodomus2 = "//input[@name='music_es']".findNode();
nodomus2.value = "Película muda";
}
}
if(isAnim && duracion <= 20)
javascript:addTopic('251997');
else if(!isAnim && duracion <= 20){
nodoto.value += " (S)";
nodote.value += " (C)";
javascript:addTopic('280405');
}
if(duracion < 60 && duracion > 20)
javascript:addTopic('180914');
var nodoteng = "//input[@name='title_en']".findNode();
var nodotengi = "//h4[contains(text(),'Also Known As')]".findNode(emptydiv);
if(nodotengi != undefined){
if(paisi.textContent == "Japan"){
nodoteng.value = nodotengi.nextSibling.textContent.substring(1,nodotengi.nextSibling.textContent.length-6);
nodote.value = nodoteng.value;
}
}
else
nodoteng.value = nodoto.value;
if(paisi.textContent == "UK" || paisi.textContent == "USA" || paisi.textContent == "Australia" || paisi.textContent == "Ireland" || paisi.textContent == "New Zealand")
nodoteng.value = nodoto.value;
var nodoanio = "//input[@name='year']".findNode();
var nodoanioi = "//title".findNode(emptydiv).textContent;
var anio = nodoanioi.split('(')[1].split(')')[0].split('–')[0];
if(anio.indexOf("eries") > 0)
anio = anio.split("es ")[1];
if(anio.indexOf("ideo") > 0)
anio = anio.split("ideo ")[1];
nodoanio.value = anio; //nodoanioi.substring(nodoanioi.length-12,nodoanioi.length-8);
if(nodoanio.value < 1915)
javascript:addTopic('898346');
var nodosyn = "//textarea[@name='synopsis_en']".findNode();
var nodosyni = "//div[@itemprop='description']/p".findNode(emptydiv);
if(nodosyni != undefined)
nodosyn.value = nodosyni.textContent.substring(1, nodosyni.textContent.length-1).split("Written b")[0];
var nodosyne = "//textarea[@name='synopsis_es']".findNode();
nodosyne.value = "(FILMAFFINITY)";
var nodoprd1 = "//input[@name='producer_en']".findNode();
var nodoprd2 = "//input[@name='producer_es']".findNode();
var nodosprdi = "//a[contains(@href,'/company/')]".findNodesArray(emptydiv);
var productores = "";
if(nodosprdi.length > 0){
for(i = 0; i < nodosprdi.length; i++){
productores += nodosprdi[i].childNodes[0].textContent;
if(i != nodosprdi.length-1)
productores += " / ";
}
}
nodoprd1.value = productores;
nodoprd2.value = productores;
});
url = "http://www.imdb.com/title/tt" + codigoIMDB + "/keywords";
doGet(url, function(response) {
response = response.replace("<img", "<omg"); // Para que no se ponga a cargar las peliculas
var emptydiv = document.createElement('div');
emptydiv.innerHTML = response;
var keywords = "//a[contains(@href,'ttkw_kw')]".findNodesArray(emptydiv);
for(var ix in keywords){
if(keywords[ix].textContent == "3d")
javascript:addTopic('461156');
else if(keywords[ix].textContent == "sexual abuse")
javascript:addTopic('836459');
else if(keywords[ix].textContent == "bullying")
javascript:addTopic('791958');
else if(keywords[ix].textContent == "africa")
javascript:addTopic('644424');
else if(keywords[ix].textContent == "adult animation")
javascript:addTopic('470842');
else if(keywords[ix].textContent == "ancient greece")
javascript:addTopic('195438');
else if(keywords[ix].textContent == "ancient rome")
javascript:addTopic('414531');
else if(keywords[ix].textContent == "ancient egypt")
javascript:addTopic('246278');
else if(keywords[ix].textContent == "1900s")
javascript:addTopic('195379');
else if(keywords[ix].textContent == "1910s")
javascript:addTopic('168876');
else if(keywords[ix].textContent == "1920s")
javascript:addTopic('986798');
else if(keywords[ix].textContent == "1930s")
javascript:addTopic('751350');
else if(keywords[ix].textContent == "1940s")
javascript:addTopic('503186');
else if(keywords[ix].textContent == "1950s")
javascript:addTopic('306617');
else if(keywords[ix].textContent == "1960s")
javascript:addTopic('322214');
else if(keywords[ix].textContent == "1970s")
javascript:addTopic('499166');
else if(keywords[ix].textContent == "1980s")
javascript:addTopic('432971');
else if(keywords[ix].textContent == "1990s")
javascript:addTopic('853858');
else if(keywords[ix].textContent == "spider")
javascript:addTopic('969387');
else if(keywords[ix].textContent == "martial arts")
javascript:addTopic('458310');
else if(keywords[ix].textContent == "serial killer")
javascript:addTopic('299106');
else if(keywords[ix].textContent == "space travel")
javascript:addTopic('624971');
else if(keywords[ix].textContent == "blaxploitation")
javascript:addTopic('369866');
else if(keywords[ix].textContent == "boxing")
javascript:addTopic('667395');
else if(keywords[ix].textContent == "witchcraft")
javascript:addTopic('946896');
else if(keywords[ix].textContent == "haunted house")
javascript:addTopic('477313');
else if(keywords[ix].textContent == "film within a film")
javascript:addTopic('742444');
else if(keywords[ix].textContent == "experimental film")
javascript:addTopic('416484');
else if(keywords[ix].textContent == "independent film")
javascript:addTopic('485586');
else if(keywords[ix].textContent == "clay animation")
javascript:addTopic('896486');
else if(keywords[ix].textContent == "absurd humor")
javascript:addTopic('586472');
else if(keywords[ix].textContent == "based on comic")
javascript:addTopic('725819');
else if(keywords[ix].textContent == "cyberpunk")
javascript:addTopic('874320');
else if(keywords[ix].textContent == "dc comics")
javascript:addTopic('549998');
else if(keywords[ix].textContent == "dinosaur")
javascript:addTopic('470603');
else if(keywords[ix].textContent == "dystopia")
javascript:addTopic('212308');
else if(keywords[ix].textContent == "doctor who")
javascript:addTopic('108082');
else if(keywords[ix].textContent == "erotica")
javascript:addTopic('848307');
else if(keywords[ix].textContent == "alien")
javascript:addTopic('191870');
else if(keywords[ix].textContent == "mockumentary")
javascript:addTopic('548806');
else if(keywords[ix].textContent == "post apocalypse")
javascript:addTopic('369658');
else if(keywords[ix].textContent == "giallo")
javascript:addTopic('150356');
else if(keywords[ix].textContent == "gore")
javascript:addTopic('696548');
else if(keywords[ix].textContent == "based on manga")
javascript:addTopic('912178');
else if(keywords[ix].textContent == "zombie")
javascript:addTopic('173777');
}
});
}
}
var nodop = "//input[@name='otitle']".findNode();
nodop.addEventListener('focus', rellenarDesdeIMDB, false);
}
function doChangeStyleReviews(){
var nodos = '//div[@class="review-text1"]'.findNodesArray();
var nodos2 = '//div[@class="rate-review"]'.findNodesArray();
for(var ix in nodos){
nodos[ix].style.padding = "10px 15px";
nodos[ix].style.margin = "10px 0px";
nodos[ix].style.color = "#201C1C";
nodos[ix].style.backgroundColor = "rgb(227, 229, 240)";
nodos[ix].style.boxShadow = "5px 5px 5px #888888";
nodos2[ix].style.marginTop = "-10px";
nodos2[ix].style.paddingBottom = "10px";
}
}
function doShowVote() {
function emptyWorkList(votos) {
var workList = getPreference("idltemp");
if (workList != 'none') {
var url = "http://www.filmaffinity.com/es/rcmlistmovies.php";
var data = "action=remove";
data += "&list_id=" + workList;
data += "&rc=js/esp.js";
for (var ix in votos) {
data += "&movie_ids[]=" + votos[ix].pelicula;
}
doPost(url, data, function (result) {
log("lista temporal vaciada");
});
}
}
function prepareTableUserList() {
var position = "//div[@class='rat-movie']".findNodesArray();
var ndiv = d.createElement('DIV');
for (n = 0; n < position.length; n++) {
position[n].previousSibling.previousSibling.style.cssText = 'width:612px !Important';
ndiv = d.createElement('DIV');
ndiv.innerHTML = "-";
ndiv.className = "rat-movie";
ndiv.style.backgroundColor = "#447CAD";
position[n].parentNode.appendChild(ndiv);
}
}
function injectVotes(votos, numero) {
function injectVotesUserList(votos) {
var nodosrat = "//div[@class='rat-movie']".findNodesArray();
for (ix in votos) {
var voto = votos[ix];
var aux = parseInt(ix)+1;
nodosrat[(ix*2)+1].innerHTML = voto.puntuacion;
}
}
function injectVotesSearch(votos, numero) {
var aux = 0;
var numaux = 0;
var cont = 0;
if(numero == 2)
aux = 50;
else if(numero == 3)
aux = 100;
var nodost = '//div[@class="sub-header-search"]'.findNode();
nodost.style.paddingTop = "10px";
var contens = "//div[@class='mc-info-container']".findNodesArray();
var is_firefox = navigator.userAgent.toLowerCase().indexOf('firefox/') > -1;
contens[0].parentNode.parentNode.parentNode.style.width = "795px";
for(var ix in votos) {
numaux = aux + cont;
contens[numaux].style.width = "675px";
var newd = d.createElement('div');
if(is_firefox)
newd.style.cssFloat = "right";
else
newd.style.float = "right";
var color1 = "", color2 = "";
if(votos[ix].puntuacion == "10"){
color1 = "#008B00";
color2 = "#DAEBDA";
}
else if(votos[ix].puntuacion == "9" || votos[ix].puntuacion == "8" || votos[ix].puntuacion == "7"){
color1 = "#00B200";
color2 = "#DAEBDA";
}
else if(votos[ix].puntuacion == "6" || votos[ix].puntuacion == "5" || votos[ix].puntuacion == "4"){
color1 = "#F2C522";
color2 = "#F6EECF";
}
else if(votos[ix].puntuacion == "3" || votos[ix].puntuacion == "2" || votos[ix].puntuacion == "1"){
color1 = "#FF0000";
color2 = "#FCDBDB";
}
//newd.style.background = "linear-gradient(to right, " + color2 + ", " + color1 + ", " + color1 + ", " + color1 + ", " + color2 + ")";
newd.style.backgroundColor = color1;
newd.style.fontSize = "25px";
newd.style.height = "111px";
newd.style.width = "55px";
if(votos[ix].puntuacion != "-")
newd.style.color = '#ffffff';
else
newd.style.color = '#4682B4';
newd.style.textAlign = "center";
newd.style.lineHeight = "111px";
newd.style.margin = "-6px 0px 0px 15px";
newd.textContent = votos[ix].puntuacion;
contens[numaux].parentNode.insertBefore(newd,contens[numaux]);
cont++;
}
}
function injectVotesAdvSearch(votos, numero) {
var aux = 0;
var numaux = 0;
var cont = 0;
if(numero == 2)
aux = 50;
else if(numero == 3)
aux = 100;
var contens = "//div[@class='mc-info-container']".findNodesArray();
var is_firefox = navigator.userAgent.toLowerCase().indexOf('firefox/') > -1;
contens[0].parentNode.parentNode.parentNode.style.width = "795px";
for(var ix in votos) {
numaux = aux + cont;
contens[numaux].style.width = "675px";
var newd = d.createElement('div');
if(is_firefox)
newd.style.cssFloat = "right";
else
newd.style.float = "right";
var color1 = "", color2 = "";
if(votos[ix].puntuacion == "10"){
color1 = "#008B00";
color2 = "#DAEBDA";
}
else if(votos[ix].puntuacion == "9" || votos[ix].puntuacion == "8" || votos[ix].puntuacion == "7"){
color1 = "#00B200";
color2 = "#DAEBDA";
}
else if(votos[ix].puntuacion == "6" || votos[ix].puntuacion == "5" || votos[ix].puntuacion == "4"){
color1 = "#F2C522";
color2 = "#F6EECF";
}
else if(votos[ix].puntuacion == "3" || votos[ix].puntuacion == "2" || votos[ix].puntuacion == "1"){
color1 = "#FF0000";
color2 = "#FCDBDB";
}
//newd.style.background = "linear-gradient(to right, " + color2 + ", " + color1 + ", " + color1 + ", " + color1 + ", " + color2 + ")";
newd.style.backgroundColor = color1;
newd.style.fontSize = "25px";
newd.style.height = "105px";
newd.style.width = "55px";
if(votos[ix].puntuacion != "-")
newd.style.color = '#ffffff';
else
newd.style.color = '#4682B4';
newd.style.textAlign = "center";
newd.style.lineHeight = "105px";
//newd.style.fontWeight = "bold";
newd.style.margin = "-5px 5px 0px 15px";
newd.textContent = votos[ix].puntuacion;
contens[numaux].parentNode.insertBefore(newd,contens[numaux]);
cont++;
}
}
function injectVotesUserRatings(votos, numero) {
var aux = 0;
var numaux = 0;
var cont = 0;
var nota = 0;
if(numero == 2)
aux = 50;
var contens = "//div[@class='user-ratings-movie-rating']".findNodesArray();
var is_firefox = navigator.userAgent.toLowerCase().indexOf('firefox/') > -1;
var puser = d.title.split("de ")[1].split("- Film")[0];
var ruser = '//span[@id="user-nick"]/a'.findNode().textContent;
for(var ix in votos) {
numaux = aux + cont;
nota = contens[numaux].childNodes[1].textContent;
var numnodos = contens[numaux].childNodes.length;
for(var i = 0; i < numnodos; i++)
contens[numaux].removeChild(contens[numaux].firstChild);
var color1 = "", color2 = "";
if(nota == "10")
color1 = "#008B00";
else if (nota == "9" || nota == "8" || nota == "7")
color1 = "#00B200";
else if (nota == "6" || nota == "5" || nota == "4")
color1 = "#F2C522";
else
color1 = "#FF0000";
if(votos[ix].puntuacion == "10")
color2 = "#008B00";
else if (votos[ix].puntuacion == "9" || votos[ix].puntuacion == "8" || votos[ix].puntuacion == "7")
color2 = "#00B200";
else if (votos[ix].puntuacion == "6" || votos[ix].puntuacion == "5" || votos[ix].puntuacion == "4")
color2 = "#F2C522";
else if (votos[ix].puntuacion == "3" || votos[ix].puntuacion == "2" || votos[ix].puntuacion == "1")
color2 = "#FF0000";
else
color2 = "#4682B4";
var txt = "";
txt += "<div style=\"color:#666666; font-size:16px; padding: 4px 0px;\">Votos</div>";
txt += "<div style=\"float:left; width:40px; height:40px; line-height:40px; margin: 5px 10px 10px 10px; color:white; font-weight:bold; font-size:150%; background-color: " + color1 + ";\" title=\"Voto de " + puser + "\">" + nota + "</div>";
txt += "<div style=\"float:right; width:40px; height:40px; line-height:40px; margin: 5px 10px 10px 10px; color:white; font-weight:bold; font-size:150%; background-color: " + color2 + ";\" title=\"Voto de " + ruser + "\">" + votos[ix].puntuacion + "</div>";
contens[numaux].innerHTML = txt;
cont++;
}
}
function injectVotesTopics(votos, numero){
var aux = 0;
var numaux = 0;
var cont = 0;
if(numero == 2)
aux = 50;
else if(numero == 3)
aux = 100;
var contens = "//div[@class='card']".findNodesArray();
var ltopics = "//span[@class='related-topics']".findNodesArray();
var urlact = location.href;
var is_firefox = navigator.userAgent.toLowerCase().indexOf('firefox/') > -1;
for(var ix in votos) {
numaux = aux + cont;
contens[numaux].style.width = "730px";
ltopics[numaux].style.marginRight = "85px";
var newd = d.createElement('div');
if(is_firefox)
newd.style.cssFloat = "right";
else
newd.style.float = "right";
newd.style.fontSize = "25px";
newd.style.height = "103px";
newd.style.lineHeight = "103px";
newd.style.width = "50px";
if(votos[ix].puntuacion != "-")
newd.style.color = '#ffffff';
else
newd.style.color = '#4682B4';
if(votos[ix].puntuacion == 10){
newd.style.backgroundColor = '#008B00';
newd.style.border = "1px solid #008B00";
}
else if(votos[ix].puntuacion == 9 || votos[ix].puntuacion == 8 || votos[ix].puntuacion == 7){
newd.style.backgroundColor = '#00B200';
newd.style.border = "1px solid #00B200";
}
else if(votos[ix].puntuacion == 6 || votos[ix].puntuacion == 5 || votos[ix].puntuacion == 4){
newd.style.backgroundColor = '#F2C522';
newd.style.border = "1px solid #F2C522";
}
else if(votos[ix].puntuacion == 3 || votos[ix].puntuacion == 2 || votos[ix].puntuacion == 1){
newd.style.backgroundColor = '#FF0000';
newd.style.border = "1px solid #FF0000";
}
newd.style.textAlign = "center";
newd.style.margin = "-5px 10px 0px 20px";
newd.textContent = votos[ix].puntuacion;
contens[numaux].parentNode.insertBefore(newd,contens[numaux]);
cont++;
}
}
if (inSection('UserList')) {
injectVotesUserList(votos);
} else if(inSection('Search')){
injectVotesSearch(votos, numero);
} else if(inSection('AdvSearch')){
injectVotesAdvSearch(votos, numero);
} else if(inSection('UserRatting')){
injectVotesUserRatings(votos, numero);
}
else {
injectVotesTopics(votos, numero);
}
}
function extractVotesFromList(div) {
//var nodos = "//img[contains(@src,'countries')]/parent::*/a".findNodesArray(div);
var nodos = "//div[@class='mc-title']/a".findNodesArray(div);
var votes = "//div[@class='rat-movie']".findNodesArray(div);
var votos = [];
for (var ix in nodos) {
var pelicula = nodos[ix].href.split("es/film")[1].split(".")[0];
//var temp = "ancestor::*[position()=10]".findNode(nodos[ix]);
//var voto = temp.parentNode.cells[temp.cellIndex + 1].textContent;
var voto = votes[ix].textContent;
votos.push({pelicula:pelicula,puntuacion:voto});
}
return votos;
}
function readVotes(list) {
var myid = getUserId();
var url1 = "http://www.filmaffinity.com/es/userlist.php?user_id=" + myid + "&list_id=" + list;
var url2 = "http://www.filmaffinity.com/es/userlist.php?user_id=" + myid + "&list_id=" + list + "&page=2";
if(inSection('Topics')){
var anchors = '//div[@class="title"]/a'.findNodesArray();
}
else {
var anchors = "//img[contains(@src,'countries')]/parent::*/a".findNodesArray();
}
var long = anchors.length;
var v1 = 0;
setTimeout(function(){
doGet(url1, function(response) {
response = response.replace("<img", "<omg"); // Para que no se ponga a cargar las peliculas
var emptydiv = document.createElement('div');
emptydiv.innerHTML = response;
var votos = extractVotesFromList(emptydiv);
v1 = votos.length;
// Borrar lista temporal
injectVotes(votos);
emptyWorkList(votos);
});
if(long > 50){
doGet(url2, function(response) {
response = response.replace("<img", "<omg"); // Para que no se ponga a cargar las peliculas
var emptydiv = document.createElement('div');
emptydiv.innerHTML = response;
var votos = extractVotesFromList(emptydiv);
// Borrar lista temporal
injectVotes(votos, 2);
emptyWorkList(votos);
});
}
}, 550);
}
var workList = getPreference("idltemp");
var url = "http://www.filmaffinity.com/es/rcmlistmovies.php";
if(inSection('Topics')){
var anchors = '//div[@class="title"]/a'.findNodesArray();
}
else {
var anchors = "//img[contains(@src,'countries')]/parent::*/a".findNodesArray();
}
if(inSection('UserList')){
prepareTableUserList();
}
if (anchors.length > 0) {
var data = "action=copy";
data += "&list_id2=" + workList;
data += "&list_id=1001";
data += "&rc=js/esp.js";
for (var ix in anchors) {
data += "&movie_ids[]=" + anchors[ix].href.split("es/film")[1].split(".")[0];
}
doPost(url, data, function (result) {
readVotes(workList);
//log(result);
/*if (notEmpty(workList, result)) {
resetWorkList(url, data, workList);
} else {
readVotes(workList);
}*/
});
}
}
//Fin de nuestros votos en listas de otros
//Función para añadir películas a listas mediente un enlace
function doQuickList() {
function hideQuickListPanel() {
d.body.removeChild($id('panel_listas'));
d.body.removeChild($id('backgroundLayer'));
}
function getNumOfLists() {
var anchorTr = "//div/b[text()='LISTAS']/ancestor::*[position()=3]".findNode();
if (anchorTr.parentNode.rows.length == 2) {
return 0;
} else {
var texto = anchorTr.parentNode.rows[1].firstChild.textContent;
return parseInt(texto.split(" en ")[1].split(" de ")[0]);
}
}
function updateListCount(delta) {
var comentario = "Esta película se encuentra en <b>{NUM}</b> de tus listas.";
var actual = getNumOfLists();
var nuevo = actual + delta;
var nodo;
var texto = "";
var anchorTr = "//div/b[text()='LISTAS']/ancestor::*[position()=3]".findNode();
if (actual == 0) {
var nodoTr = d.createElement("TR");
var nodoTd = d.createElement('TD');
nodoTd.align = "center";
nodoTd.innerHTML = "nbsp;";
nodoTr.appendChild(nodoTd);
anchorTr.parentNode.insertBefore(nodoTr, anchorTr.nextSibling);
}
if (nuevo > 0) {
texto = comentario.replace(/{NUM}/g, nuevo);
nodo = anchorTr.parentNode.rows[1].cells[0];
nodo.innerHTML = texto;
} else {
anchorTr.parentNode.removeChild(anchorTr.parentNode.rows[1]);
}
}
function doAddFilmToList(film, list) {
var nodo = $id(list);
var remove = false;
if (nodo.className == "delListItem") {
if (confirm("¿Desea eliminar la pelicula de esta lista?")) {
remove = true;
} else {
hideQuickListPanel();
return;
}
}
var url = "http://www.filmaffinity.com/es/edtmovielists.php?movie_id=";
url += film + "&rp=/favicon.ico";
$id("backgroundLayer").removeEventListener("click", hideQuickListPanel, true);
hideQuickListPanel();
log("url: " + url);
log("añadir: " + !remove);
var estado = document.body.style.cursor;
document.body.style.cursor = 'wait';
doPost(url, (!remove ? "atl" : "rfl") + "[]=" + list, function(result) {
log("Datos enviados con exito");
log("resultado: " + result.length);
log("resultado: " + result);
//hideQuickListPanel();
if (inSection('Film')) {
updateListCount(remove ? -1 : 1);
}
});
document.body.style.cursor = estado;
}
// TODO: esto seria "//input[@name='rfl[]']/@value".findNodeArray(emptydiv)
function extractFilmLists(emptydiv) {
var xpath = "//input[@name='rfl[]']/@value";
var iterator = findNodes(emptydiv, xpath);
var nodo;
var lists = [];
while ((nodo = iterator.iterateNext()) != null) {
lists.push(nodo.value);
}
return lists;
}
function readLists(id) {
var url = "http://www.filmaffinity.com/es/edtmovielists.php?movie_id=" + id;
doGet(url, function(response) {
response = response.replace("<img", "<omg");
var emptydiv = document.createElement('div');
emptydiv.innerHTML = response;
var listas = extractFilmLists(emptydiv);
for (ix in listas) {
var lista = listas[ix];
var nodo = $id(lista);
if (typeof nodo != "undefined") {
//nodo.style.backgroundColor = "#E0FFE0";
nodo.className = "delListItem";
}
}
});
}
function openQuickListPanel(e) {
var listItemTemplate = '<td class="menu"><span class="listItem" id="{ID}" href="#">{NAME}</span></td>';
var ancho = 320;
var pelicula = this.id;
//Obtenemos las listas desde la configuración
var listas = getValues(userId + ".list.");
listas.sort(function(a, b) {
return a - b;
});
// Por si queremos simular mas listas
//for (n=1;n<63;n++) listas.push(listas[0]);
log("Nº de listas:" + listas.length);
var numItems = listas.length;
var maxItemsPerColumn = Math.floor((document.body.clientHeight * 0.75) / 14);
var numColumns = Math.ceil(numItems / maxItemsPerColumn);
var numItemsPerColumn = Math.ceil(numItems / numColumns);
var alto = (Math.min(numItems, numItemsPerColumn)) * 15;
var id;
if (numItems > 0) {
GM_addStyle('#backgroundLayer { width: 100%; height: 100%; background-color: white; position: fixed; left: 0; right: 0; top: 0; bottom: 0; opacity: 0; }');
GM_addStyle('#panel_listas { color: black; background-color: #FFF; text-align: center; border: 1px solid gray; width:auto; height: ' + alto + 'px; opacity: 1; position: absolute; left: 0; top: 0; overflow: auto; }');
GM_addStyle("#panel_listas td.menu {border-top:1px solid #EEEEEE;background-color:#FFF;}");
GM_addStyle("#panel_listas span.emptyItem {background-color: #FFF;}");
GM_addStyle('td.menu span.listItem {cursor:pointer;padding:1px 10px 1px 5px; color: black; background-color: #FFF; font-size: 9px; font-family: Verdana,Arial,Helvetica,sans-serif; text-decoration: none; text-indent: 3px; cursor: hand; display: block}');
GM_addStyle('td.menu span.listItem:hover {padding:1px 10px 1px 5px; color: #003366; background-color: #FFCC00; font-size: 9px; font-family: Verdana,Arial,Helvetica,sans-serif; text-decoration: none; text-indent: 3px; cursor: hand; display: block }');
GM_addStyle('td.menu span.delListItem {cursor:pointer;padding:1px 10px 1px 5px; color: black; background-color: #E0FFE0; font-size: 9px; font-family: Verdana,Arial,Helvetica,sans-serif; text-decoration: none; text-indent: 3px; cursor: hand; display: block}');
GM_addStyle('td.menu span.delListItem:hover {padding:1px 10px 1px 5px; color: #003366; background-color: #FF6666; font-size: 9px; font-family: Verdana,Arial,Helvetica,sans-serif; text-decoration: none; text-indent: 3px; cursor: hand; display: block }');
var background = d.createElement('DIV');
background.id = 'backgroundLayer';
d.body.appendChild(background);
var panel = d.createElement('DIV');
panel.id = 'panel_listas';
var html = '<table width="auto" cellspacing="0" cellpadding="0" border="0" bgcolor="#415570" class="rmenu">';
html += '<tbody>';
for (var row = 0; row < numItemsPerColumn; row++) {
html += '<tr>';
for (var col = 0; col < numColumns; col++) {
var i = (numItemsPerColumn * col) + row;
if (i < numItems) {
id = listas[i];
var name = GM_getValue(userId + '.list.' + listas[i]);
html += listItemTemplate.replace(/{ID}/g, id).replace(/{NAME}/g, name);
} else {
html += '<td class="menu"><span class="emptyItem" style="background-color:#FFF;"> </span></td>';
}
}
html += '</tr>';
}
html += '</tbody></table>';
panel.innerHTML = html;
var centro;
var left = e.clientX;
var top = e.clientY;
if (left + (ancho * numColumns + 2) > document.body.clientWidth) {
centro = (document.body.clientWidth / 2) - ((ancho * numColumns + 2) / 2);
left = Math.max(document.body.clientWidth - (ancho * numColumns + 2) - 10, centro);
}
if ((top + alto) > document.body.clientHeight) {
centro = (document.body.clientHeight / 2) - (alto / 2);
top = Math.max(document.body.clientHeight - (alto + 20), centro);
}
panel.style.left = left + document.body.scrollLeft;
panel.style.top = top + document.body.scrollTop;
d.body.appendChild(panel);
$id("backgroundLayer").addEventListener("click", hideQuickListPanel, true);
for (i = 0; i < listas.length; i++) {
id = listas[i];
$id(id).addEventListener("click", function() {
log('Seleccionada lista: ' + this.id + " nombre: " + this.textContent);
doAddFilmToList(pelicula, this.id);
}, false);
}
if (getPreference('FETCHFILMLISTS', false)) readLists(pelicula);
} else {
alert("Visite primero la página MIS LISTAS");
}
return false;
}
function createButtonNode(pelicula) {
var button = d.createElement('IMG');
button.className = 'addToList';
button.src = img_plus;
button.alt = "Añadir pelicula a listas";
button.id = pelicula;
button.addEventListener("click", openQuickListPanel, false);
return button;
}
// Añade el icono de añadir a listas rapidas en las listas de peliculas
function addQuickListSearch() {
GM_addStyle('.addToList {margin-left:5px;cursor:pointer;width:12px;height:12px;}');
var anchors = getElementsByClassName(d, 'a', 'addl');
var posic = getElementsByClassName(d, 'div', 'mc-title');
for (var i = 0; i < anchors.length; i++) {
var anchor = anchors[i];
if (anchor.textContent.indexOf('a listas') >= 0) {
var pelicula = anchor.href.split('=')[1].split('&')[0];
posic[i].appendChild(createButtonNode(pelicula));
}
}
}
function addQuickListList() {
GM_addStyle('.addToList {margin-left:5px;cursor:pointer;width:12px;height:12px;}');
var anchors = "//img[contains(@src,'countries')]/parent::*/b/a".findNodesArray();
for (var ix in anchors) {
var pelicula = anchors[ix].href.split("es/film")[1].split(".")[0];
anchors[ix].parentNode.parentNode.appendChild(createButtonNode(pelicula));
}
}
// Añade el enlace a listas rapidas en la ficha de la pelicula
function addQuickListFilm() {
GM_addStyle('.addToList {margin-left:5px;cursor:pointer;width:12px;height:12px;}');
var pelicula = document.location.href.split('/film')[1].split('.')[0];
anchor = '//dt[text()="Título original"]/following-sibling::*'.findNode();
if (anchor != null) {
anchor.appendChild(createButtonNode(pelicula));
}
}
if (inSection('Film')) addQuickListFilm(); else
if (inSection('MyList') || inSection('UserList')) addQuickListList(); else addQuickListSearch();
}
function doAddMediaInLists(){
function afinidades_milista(){
var username = '//span[@id="user-nick"]'.findNode().textContent;
var notasfa = '//img[contains(@src, "com/imgs/ratings/")]'.findNodesArray();
var notaspl = '//div[@class="rat-movie"]'.findNodesArray();
//Variables para los cálculos
var snotasul = 0;
var snotasfa = 0;
var pvistasul = 0;
var mediauser;
var hacer_todo = false;
var afinidad = 0.00;
var n1 = 0;
var n2 = 0;
var dif = 0;
var coincfa = 0;
if(notaspl.length == notasfa.length)
hacer_todo = true;
var nodoTit = '//h1[@id="main-title"]'.findNode();
var tituloaux = nodoTit.textContent.split(':');
var titulo = "";
if(tituloaux.length > 2)
for(i = 1; i < tituloaux.length ; i++)
titulo += tituloaux[i];
else
titulo = tituloaux[1];
var anchotabla = titulo.length;
var nodob = '//div[@id="total-movies"]/span'.findNode();
var pvistasfa = 0;
var peliculas = nodob.textContent;
peliculas = parseInt(peliculas);
if(d.URL.indexOf("page=") > -1){
titulo += " - " + d.URL.split("page=")[1] + "/" + Math.ceil(peliculas/50);
anchotabla += 7;
}
for(i=0; i < notaspl.length; i++){
if(notaspl[i].textContent != "-"){
n1 = parseInt(notaspl[i].textContent);
snotasul += n1;
pvistasul++;
if(hacer_todo){
n2 = notasfa[i].src.split('/')[5].split('.')[0];
if(n2 > n1)
dif += 90 - (n2*10 - n1*10)*1.5;
else if(n1 > n2)
dif += 90 - (n1*10 - n2*10)*1.5;
else {
dif += 100;
coincfa++;
}
}
}
}
for(j=0; j < notasfa.length; j++){
var auxnotasfa = notasfa[j].src.split('/')[5].split('.')[0];
snotasfa += parseInt(auxnotasfa);
pvistasfa++;
}
if(pvistasul == 0)
mediauser = "-,--";
else {
mediauser = snotasul/parseInt(pvistasul);
mediauser = mediauser.toFixed(2);
mediauser = mediauser.replace('.',',');
}
var mediafa = snotasfa/parseInt(pvistasfa);
mediafa = mediafa.toFixed(2);
mediafa = mediafa.replace('.',',');
if(hacer_todo){
if(pvistasul > 0){
afinidad = dif/pvistasul;
afinidad = (afinidad.toFixed(2)).replace('.',',');
}
else
afinidad = "-,--";
}
if(anchotabla < 35)
anchotabla = 35;
var newdiv = d.createElement('div');
newdiv.style.align = "center";
newdiv.id = "tabla-afinidades";
var txt = "";
txt += '<td bgcolor="#ffffff" colspan="4" align="center"><br/><table align="center" bgcolor="#dcdcdc" width="' + anchotabla*7 + '">';
txt += '<tr><th height="30" colspan = "2" align="center" bgcolor="#3C6E99"><font color="#ffffff">' + titulo + '</font></th></tr>';
txt += '<tr><td align="left">Media <b>' + username + '</b>: </td><td align="right">' + mediauser + '</td></tr>';
txt += '<tr><td width="200" align="left">Media <b>FA</b>: </td><td width="80" align="right">' + mediafa + '</td></tr>';
if(hacer_todo){
txt += '<tr><td width="*" align="left">Afinidad con <b>FA</b>: </td><td align="right">' + afinidad + ' %</td></tr>';
txt += '<tr><td width="*" align="left">Coincidencias con <b>FA</b>: </td><td align="right">' + coincfa + '/' + pvistasul + '</td></tr>';
}
txt += '</table></td>';
newdiv.innerHTML = txt;
nodoTit.parentNode.appendChild(newdiv);
}//Fin de afinidades en listas propias
function afinidades_lista_otro(){
var username = '//span[@id="user-nick"]'.findNode().textContent;
var notasfa = '//img[contains(@src, "com/imgs/ratings/")]'.findNodesArray();
var notaspl = '//div[@class="rat-movie"]'.findNodesArray();
//Variables para los cálculos
var snotasul = 0;
var snotasfa = 0;
var pvistasul = 0;
var mediauser;
var hacer_todo = false;
var afinidad = 0.00;
var n1 = 0;
var n2 = 0;
var dif = 0;
var coincfa = 0;
var peliculas = parseInt('//div[@class="movie-count"]'.findNode().textContent.split(':')[1]);
if(peliculas == notasfa.length)
hacer_todo = true;
var userlist = '//div[@class="user-nick-wrapper"]/h2'.findNode().textContent;
var nodoTit = '//div[@class="user-title-sec"]'.findNode();
var tituloaux = nodoTit.textContent.split(':');
var titulo = "";
if(tituloaux.length > 2)
for(i = 1; i < tituloaux.length ; i++)
titulo += tituloaux[i];
else
titulo = tituloaux[1];
var anchotabla = titulo.length;
//Distintas variables para las sumas y los cálculos
var snotasv = 0;
var pvistasv = 0;
var pvistasc = 0;
var afinidad2 = 0.00;
var afinidad3 = 0.00;
var mediauser2;
var n3 = 0;
var difu = 0;
var dif3 = 0;
var coincfau = 0;
var coinc3 = 0;
var entro1 = false;
var entro2 = false;
var notasu = '//div[@class="rat-movie"]'.findNodesArray();
var i = 0, j = 0;
while(i < notaspl.length){
entro1 = false;
entro2 = false;
//Primero para el autor de la lista
if(notaspl[i].textContent != "-"){
entro1 = true;
n1 = parseInt(notaspl[i].textContent);
snotasul += n1;
pvistasul++;
if(hacer_todo){
n2 = notasfa[j].src.split('/')[5].split('.')[0];
if(n2 > n1)
dif += 90 - (n2*10 - n1*10)*1.5;
else if(n1 > n2)
dif += 90 - (n1*10 - n2*10)*1.5;
else {
dif += 100;
coincfa++;
}//else
}//if
}//if
i++;
//Luego para el visitante de la lista
if(notaspl[i].textContent != "-"){
entro2 = true;
n3 = parseInt(notaspl[i].textContent);
snotasv += n3;
pvistasv++;
if(hacer_todo){
if(n2 > n3)
difu += 90 - (n2*10 - n3*10)*1.5;
else if(n3 > n2)
difu += 90 - (n3*10 - n2*10)*1.5;
else {
difu += 100;
coincfau++;
}//else
}//if
}//if
i++;
j++;
//Si los dos la han votado
if(entro1 && entro2){
pvistasc++;
if(n1 > n3)
dif3 += 90 - (n1*10 - n3*10)*1.5;
else if(n3 > n1)
dif3 += 90 - (n3*10 - n1*10)*1.5;
else {
dif3 += 100;
coinc3++;
}
}
}
for(j=0; j < notasfa.length; j++){
var auxnotasfa = notasfa[j].src.split('/')[5].split('.')[0];
snotasfa += parseInt(auxnotasfa);
}
if(pvistasul == 0)
mediauser = "-,--";
else {
mediauser = snotasul/parseInt(pvistasul);
mediauser = mediauser.toFixed(2);
mediauser = mediauser.replace('.',',');
}
if(pvistasv == 0)
mediauser2 = "-,--";
else {
mediauser2 = snotasv/parseInt(pvistasv);
mediauser2 = mediauser2.toFixed(2);
mediauser2 = mediauser2.replace('.',',');
}
var mediafa = snotasfa/parseInt(notasfa.length);
mediafa = mediafa.toFixed(2);
mediafa = mediafa.replace('.',',');
if(hacer_todo){
if(pvistasul == 0)
afinidad = "-,--";
else {
afinidad = dif/pvistasul;
afinidad = (afinidad.toFixed(2)).replace('.',',');
}
if(pvistasv == 0)
afinidad2 = "-,--";
else {
afinidad2 = difu/pvistasv;
afinidad2 = (afinidad2.toFixed(2)).replace('.',',');
}
if(pvistasc == 0)
afinidad3 = "-,--";
else {
afinidad3 = dif3/pvistasc;
afinidad3 = (afinidad3.toFixed(2)).replace('.',',');
}
}
var long1 = username.length + userlist.length;
var long2 = (long1*10)+15;
if(anchotabla < 35)
anchotabla = 35;
var newdiv = d.createElement('div');
newdiv.style.align = "center";
var txt = "";
txt += '<td bgcolor="#ffffff" colspan="4" align="center"><br/><table align="center" bgcolor="#dcdcdc" width="' + anchotabla*7 + '">';
txt += '<tr><th height="30" colspan = "2" align="center" bgcolor="#5FACF3"><font color="#ffffff">' + titulo + '</font></th></tr>';
txt += '<tr><td height="18" bgcolor="#4169E1" colspan="2" align="center"><font color="#FFD700"><b>Media</b></font></td></tr>';
txt += '<tr><td width="*" align="center"><b>' + username + '</b></td><td align="right">' + mediauser2 + '</td></tr>';
txt += '<tr><td width="*" align="center"><b>' + userlist + '</b></td><td align="right">' + mediauser + '</td></tr>';
txt += '<tr><td width="*" align="center"><b>FA</b></td><td align="right">' + mediafa + '</td></tr>';
if(hacer_todo){
txt += '<tr><td height="18" bgcolor="#4169E1" colspan="2" align="center"><font color="#FFD700"><b>Afinidades</b></font></td></tr>';
txt += '<tr><td width="*" align="center"><b>' + username + '</b> <-> <b>FA</b></td><td align="right">' + afinidad2 + ' %</td></tr>';
txt += '<tr><td width="*" align="center"><b>' + userlist + '</b> <-> <b>FA</b></td><td width="70" align="right">' + afinidad + ' %</td></tr>';
txt += '<tr><td width="' + long2 + '" align="center"><b>' + username + '</b> <-> <b>' + userlist + '</b></td><td align="right">' + afinidad3 + ' %</td></tr>';
txt += '<tr><td height="18" bgcolor="#4169E1" colspan="2" align="center"><font color="#FFD700"><b>Coincidencias</b></font></td></tr>';
txt += '<tr><td width="*" align="center"><b>' + username + '</b> <-> <b>FA</b></td><td align="right">' + coincfau + '/' + peliculas + '</td></tr>';
txt += '<tr><td width="*" align="center"><b>' + userlist + '</b> <-> <b>FA</b></td><td align="right">' + coincfa + '/' + peliculas + '</td></tr>';
txt += '<tr><td width="*" align="center"><b>' + username + '</b> <-> <b>' + userlist + '</b></td><td align="right">' + coinc3 + '/' + pvistasc + '</td></tr>';
}
txt += '</table></td>';
newdiv.innerHTML = txt;
nodoTit.parentNode.appendChild(newdiv);
}
if(inSection('MyList'))
setTimeout(afinidades_milista, 1500)
else {
if (getPreference('SHOWVOTESONFRIENDLISTS'))
setTimeout(afinidades_lista_otro,2000);
}
}
// Soporte para plegar los menús
function doMenus() {
// Muestra u oculta el menu que enviamos
// recibe el nodo TD que contiene el titulo
function doFold(menu, fold) {
//alert(menu.textContent);
var nodo = menu.parentNode.nextSibling;
while (nodo != null) {
if (nodo.nodeType != 3) {
if (fold) nodo.style.display = "none";
else nodo.style.display = "";
}
nodo = nodo.nextSibling;
}
}
function onFold() {
var nodo = this.parentNode.nextSibling;
var folded = nodo.style.display == "none";
doFold(this, !folded);
setPreference("menuFolded." + this.textContent, !folded);
}
function injectFoldCode() {
var menus = "//td[@class='menutitle']".findNodesArray();
for (var ix in menus) {
var menu = menus[ix];
menu.style.cursor = "pointer";
menu.addEventListener("click", onFold, true);
//alert(menu.textContent);
doFold(menu, getPreference("menuFolded." + menu.textContent, false));
}
}
//injectNewMenus();
//if (getPreference('FOLDMENUS', false)) {
// injectFoldCode();
//}
for(var ix in menus) {
var menu = menus[ix];
if(getPreference(menu.cond, true)){
var numaux = parseInt(ix);
switch(numaux){
case 0:
var nodo = "//div[@class='lsmheader' and contains(text(), 'TOPs')]".findNode();
break;
case 1:
var nodo = "//div[@class='lsmheader' and contains(text(), 'Usuarios')]".findNode();
break;
case 2:
var nodo = "//div[@class='lsmheader' and contains(text(), 'Informaci')]".findNode();
break;
}
var newdiv = d.createElement('div');
newdiv.textContent = menu['name'];
newdiv.className = "lsmheader";
var newul = d.createElement('ul');
for(var ox in menu['options']){
var option = menu['options'][ox];
var newli = d.createElement('li');
var newa = d.createElement('a');
newa.textContent = option['title'];
newa.href = option['href'];
newa.target = option['target'];
if(option['onclick'] != null){
newa.addEventListener("click", option['onclick'], true);
}
newul.appendChild(newli);
newli.appendChild(newa);
}
nodo.parentNode.insertBefore(newdiv, nodo);
nodo.parentNode.insertBefore(newul, nodo);
}
}
}
// Añade enlaces a la pagina de busqueda
function doProcessSearch() {
/* todo: reparar, no funciona correctamente
var stype = url.substr(url.lastIndexOf('=') + 1).replace('#','');
log("Process Search: "+stype);
var nodo = "//option[@value='" + stype + "']".findNode();
var elem = d.forms[0].elements[1];
if (nodo != null && typeof nodo != "undefined") elem.selectedIndex = nodo.index;
d.forms[0].elements[0].focus();
*/
}
function doFixEnglishLink() {
for (var i = 0; i < d.links.length; ++i)
if (d.links[i].href == 'http://www.filmaffinity.com/en/main.html')
d.links[i].href = url.replace('/es/', '/en/');
}
function hideTVShows(ancestor) {
var nodos = ("//a[contains(text(),'(Serie de TV)')]/ancestor::*[position()=" + ancestor + "]").findNodesArray();
for (ix in nodos) {
nodos[ix].style.display = "none";
}
}
function addCountryFlag(country) {
var imgTemplate = '<img style="margin-left:5px;" border="0" align="middle" title="{NAME}" src="/imgs/countries/{CODE}.jpg"/>';
var nodo = "//b[text()='PAÍS']/../following-sibling::*/img".findNode();
if (nodo != null && typeof nodo != "undefined") {
var code = getCountryCode(country);
var html = nodo.parentNode.innerHTML;
if (html.indexOf(code + ".jpg") == -1) {
nodo.parentNode.innerHTML = html + imgTemplate.replace(/{NAME}/g, country).replace(/{CODE}/g, getCountryCode(country));
}
}
}
// Banderas de los paises coproductores.
function doAddCoproductionFlags() {
var productora = '//dt[text()="Productora"]/following-sibling::*'.findNode().textContent.toLowerCase().split(';')[0];
var codigos = [];
for (ix in countriesCodes) {
codigos.push(ix);
}
codigos.sort(function(a, b) {
return b.length - a.length;
});
if (productora.indexOf('coproducción') > -1)
for (var ix in codigos) {
var pais = codigos[ix];
if (productora.indexOf(pais.toLowerCase()) > -1) {
addCountryFlag(pais);
productora = productora.replace(pais.toLowerCase(), '');
}
}
}
//Centrado de la página en la ventana del navegador
function doCenterPage() {
GM_addStyle('.ot {margin-left:auto;margin-right:auto;');
}
// Registra los comandos de GM
function doRegisterCommands() {
GM_registerMenuCommand('Configurar ' + appName + ' ' + appVersion + '...', preferences);
GM_registerMenuCommand('Ver información de depurado', showLog);
}
// Alinear el icono de zoom a la imagen, por si hemos centrado con el script o
// via stylish
function doFixZoomIcon() {
// Todo: Supongo que este classname sera temporal
var icon = "//img[@class='foto']".findNode();
log("icono: " + icon);
if (icon != null && typeof icon != "undefined") {
var thumb = "//img[@class='foto']/../a/img".findNode();
icon.style.position = "relative";
icon.style.left = "-" + (thumb.width / 2 - 7) + "px"; // Las miniaturas tienen 100 de ancho - mitad de icono
icon.style.top = "15px"; // bajamos el icono para sobreponerlo a la miniatura
}
}
var browserCodes = {'Netscape':'FF','Opera':'OP'};
function getBrowserCode() {
var browserName = navigator.appName;
return browserCodes[browserName];
}
function isLogged() {
//var nodo = "//td[@class='menu2']/a[text()='Salir']".findNode();
var nodo = "//li/a[text()='Cerrar sesión']".findNode();
return nodo != null;
}
function getUserId() {
//var nodo = "//li/a[contains(text(),'ticas favoritas')]".findNode();
myid = parseInt(getPreference('idinput'));
var usuario = myid;
log('Usuario: ' + usuario);
return usuario;
}
function doUpdateMultiuser() {
var sections = ['cfg.','friends.','list.','sml.'];
// Copiamos los valores de configuración
// La lista de amigos
// SoulMates
for (i in sections) {
var section = sections[i];
var values = getValues(section);
for (ix in values) {
var c = values[ix];
var valor = GM_getValue(section + c);
log('migrando valor: ' + section + c + " :: " + valor);
if (typeof valor != 'undefined') {
GM_setValue(userId + "." + section + c, valor);
GM_deleteValue(section + c);
}
}
}
var valueNames = ['smc','ssml'];
for (ix in valueNames) {
valor = GM_getValue(valueNames[ix]);
if (typeof valor != 'undefined') {
GM_setValue(userId + '.' + valueNames[ix], valor);
GM_deleteValue(valueNames[ix]);
}
;
}
;
setPreference('MUMP', false);
}
;
// Nos redirige a la pagina de busqueda global en caso de que no tengamos resultados
function doRedirectSearch() {
var anchors = "//img[contains(@src,'countries')]/parent::*/b/a".findNodesArray();
if (anchors.length == 0) {
var global = "//a[text()='buscador global']".findNode();
location.href = global.href;
return false;
}
return true;
}
// Obtiene el valor UCD necesario para subir votos
function doCaptureUCD() {
var ucd = "//select[contains(@id,'rate')]/@onchange".findNode().textContent.split("'")[3];
setPreference("UCD", ucd);
}
// Simplemente captura las puntuaciones y las mandamos al log
function doCaptureReviews() {
var nodos = "//img[contains(@src,'myratings')]/ancestor::*[position()=6]/preceding-sibling::*[1]/td".findNodesArray();
var tmp = GM_getValue("reviews");
var reviews;
if (typeof tmp == "undefined") {
reviews = [];
} else {
reviews = eval(tmp);
}
for (var ix in nodos) {
var sies = nodos[ix].textContent.split('de')[0];
var total = nodos[ix].textContent.split('de')[1].split('usuarios')[0];
reviews.push({si:sies,total:total});
}
for (ix in reviews) {
log(reviews[ix].si + ";" + reviews[ix].total);
}
GM_setValue("reviews", reviews.toSource());
}
function afinidad_votos(diferencia){
if(diferencia > 24)
return 0.0;
else if (diferencia > 17)
return 0.25;
else if (diferencia > 12)
return 0.5;
else if (diferencia > 9)
return 0.75;
else if (diferencia > 5)
return 1.0;
else if (diferencia > 3)
return 1.25;
else if (diferencia > 1.5)
return 1.55;
else if (diferencia > 0.7)
return 1.75;
else
return 2.0;
}
function afinidad_votos_años(diferencia){
if(diferencia > 10.909)
return 0.0;
else if (diferencia > 7.727)
return 0.25;
else if (diferencia > 5.454)
return 0.5;
else if (diferencia > 4.090)
return 0.75;
else if (diferencia > 2.272)
return 1.0;
else if (diferencia > 1.363)
return 1.25;
else if (diferencia > 0.681)
return 1.55;
else if (diferencia > 0.318)
return 1.75;
else
return 2.0;
}
function afinidad_medias(diferencia){
if(diferencia > 5)
return 0.0;
else if (diferencia > 4)
return 0.15;
else if (diferencia > 3)
return 0.4;
else if (diferencia > 1.5)
return 0.75;
else if (diferencia > 0.7)
return 1.3;
else if (diferencia > 0.3)
return 1.75;
else
return 2.0;
}
function afinidad_npaises(diferencia){
if(diferencia > 40)
return 0.0;
else if (diferencia > 25)
return 0.15;
else if (diferencia > 15)
return 0.5;
else if (diferencia > 10)
return 1;
else if (diferencia > 5)
return 1.5;
else
return 2.0;
}
function doAddMyStatsToOthers(){
var myid = "";
myid = getPreference('idinput');
var suid = d.URL.split('=')[1];
if(myid == suid)
return 0;
var nodotodo = '//caption[contains(text(),"Votaciones por valor")]/ancestor::*[position()=2]'.findNode();
var nodoval = '//caption[contains(text(),"Votaciones por valor")]/following-sibling::*'.findNode();
var nodogen = '//caption[contains(text(),"Votaciones por g")]/following-sibling::*'.findNode();
var nodopais = '//caption[contains(text(),"Votaciones por pa")]/following-sibling::*'.findNode();
var nodoanios = '//caption[contains(text(),"Votaciones por años")]/following-sibling::*'.findNode();
var nick1 = '//span[@id="nick"]'.findNode().textContent;
var nodonick2 = '//span[contains(text(),"Hola,")]'.findNode();
var nick2 = nodonick2.nextSibling.lastChild.textContent;
var anchob = 0;
var txt2 = "";
var tablagen = d.createElement('table');
//Para afinidad entre géneros
var datosGeneros = [
{nombre:"Drama",votos:0,media:0},
{nombre:'Comedia',votos:0,media:0},
{nombre:"Thriller",votos:0,media:0},
{nombre:'Romance',votos:0,media:0},
{nombre:'Acción',votos:0,media:0},
{nombre:'Fantástico',votos:0,media:0},
{nombre:'Intriga',votos:0,media:0},
{nombre:"Ciencia ficción",votos:0,media:0},
{nombre:'Aventuras',votos:0,media:0},
{nombre:"Animación",votos:0,media:0},
{nombre:'Terror',votos:0,media:0},
{nombre:'Documental',votos:0,media:0},
{nombre:'Infantil',votos:0,media:0},
{nombre:'Musical',votos:0,media:0},
{nombre:"Western",votos:0,media:0},
{nombre:'Bélico',votos:0,media:0},
{nombre:"Cine negro",votos:0,media:0},
{nombre:'Serie de TV',votos:0,media:0}
];
var totalGens = nodogen.rows.length-1;
for (var i = 1; i <= totalGens; i++) {
var genero = nodogen.rows[i].cells[1].textContent;
var votos = parseInt(nodogen.rows[i].cells[0].textContent);
var media = parseFloat(nodogen.rows[i].cells[2].textContent.replace(',', '.'));
var ix = inArray(datosGeneros, 'nombre', genero);
datosGeneros[ix].votos = votos;
datosGeneros[ix].media = media;
}
datosGeneros.sort(function(a, b) {
return (a.nombre - b.nombre);
});
//Afinidad Paises
var datosPaises = [
{nombre:"Afganistán",votos:0,media:0},
{nombre:"Albania",votos:0,media:0},
{nombre:"Alemania",votos:0,media:0},
{nombre:"Alemania del Este (RDA)",votos:0,media:0},
{nombre:"Alemania del Oeste (RFA)",votos:0,media:0},
{nombre:"Andorra",votos:0,media:0},
{nombre:"Angola",votos:0,media:0},
{nombre:"Antigua y Barbuda",votos:0,media:0},
{nombre:"Arabia Saudí",votos:0,media:0},
{nombre:"Argelia",votos:0,media:0},
{nombre:"Argentina",votos:0,media:0},
{nombre:"Armenia",votos:0,media:0},
{nombre:"Australia",votos:0,media:0},
{nombre:"Austria",votos:0,media:0},
{nombre:"Azerbaijan",votos:0,media:0},
{nombre:"Bahamas",votos:0,media:0},
{nombre:"Bahrein",votos:0,media:0},
{nombre:"Bangladesh",votos:0,media:0},
{nombre:"Barbados",votos:0,media:0},
{nombre:"Bélgica",votos:0,media:0},
{nombre:"Belize",votos:0,media:0},
{nombre:"Benín",votos:0,media:0},
{nombre:"Bielorusia",votos:0,media:0},
{nombre:"Bolivia",votos:0,media:0},
{nombre:"Bosnia y Herzegovina",votos:0,media:0},
{nombre:"Botswana",votos:0,media:0},
{nombre:"Brasil",votos:0,media:0},
{nombre:"Brunei",votos:0,media:0},
{nombre:"Bulgaria",votos:0,media:0},
{nombre:"Burkina Faso",votos:0,media:0},
{nombre:"Burundi",votos:0,media:0},
{nombre:"Bután",votos:0,media:0},
{nombre:"Cabo Verde",votos:0,media:0},
{nombre:"Camboya",votos:0,media:0},
{nombre:"Camerún",votos:0,media:0},
{nombre:"Canadá",votos:0,media:0},
{nombre:"Chad",votos:0,media:0},
{nombre:"Checoslovaquia",votos:0,media:0},
{nombre:"Chile",votos:0,media:0},
{nombre:"China",votos:0,media:0},
{nombre:"Chipre",votos:0,media:0},
{nombre:"Colombia",votos:0,media:0},
{nombre:"Comores",votos:0,media:0},
{nombre:"Congo",votos:0,media:0},
{nombre:"Corea del Norte",votos:0,media:0},
{nombre:"Corea del Sur",votos:0,media:0},
{nombre:"Costa de Marfil",votos:0,media:0},
{nombre:"Costa Rica",votos:0,media:0},
{nombre:"Croacia",votos:0,media:0},
{nombre:"Cuba",votos:0,media:0},
{nombre:"Dinamarca",votos:0,media:0},
{nombre:"Dominica",votos:0,media:0},
{nombre:"Ecuador",votos:0,media:0},
{nombre:"Egipto",votos:0,media:0},
{nombre:"El Salvador",votos:0,media:0},
{nombre:"Emiratos Árabes",votos:0,media:0},
{nombre:"Eritrea",votos:0,media:0},
{nombre:"Eslovaquia",votos:0,media:0},
{nombre:"Eslovenia",votos:0,media:0},
{nombre:"España",votos:0,media:0},
{nombre:"Estados Unidos",votos:0,media:0},
{nombre:"Estonia",votos:0,media:0},
{nombre:"Etiopía",votos:0,media:0},
{nombre:"Fidji",votos:0,media:0},
{nombre:"Filipinas",votos:0,media:0},
{nombre:"Finlandia",votos:0,media:0},
{nombre:"Francia",votos:0,media:0},
{nombre:"Gabón",votos:0,media:0},
{nombre:"Gambia",votos:0,media:0},
{nombre:"Georgia",votos:0,media:0},
{nombre:"Ghana",votos:0,media:0},
{nombre:"Granada",votos:0,media:0},
{nombre:"Grecia",votos:0,media:0},
{nombre:"Groenlandia",votos:0,media:0},
{nombre:"Guatemala",votos:0,media:0},
{nombre:"Guinea",votos:0,media:0},
{nombre:"Guinea Bissau",votos:0,media:0},
{nombre:"Guinea Ecuatorial",votos:0,media:0},
{nombre:"Guyana",votos:0,media:0},
{nombre:"Haití",votos:0,media:0},
{nombre:"Honduras",votos:0,media:0},
{nombre:"Hong Kong",votos:0,media:0},
{nombre:"Hungría",votos:0,media:0},
{nombre:"India",votos:0,media:0},
{nombre:"Indonesia",votos:0,media:0},
{nombre:"Irak",votos:0,media:0},
{nombre:"Irán",votos:0,media:0},
{nombre:"Irlanda",votos:0,media:0},
{nombre:"Islandia",votos:0,media:0},
{nombre:"Israel",votos:0,media:0},
{nombre:"Italia",votos:0,media:0},
{nombre:"Jamaica",votos:0,media:0},
{nombre:"Japón",votos:0,media:0},
{nombre:"Jordania",votos:0,media:0},
{nombre:"Kazajstán",votos:0,media:0},
{nombre:"Kenia",votos:0,media:0},
{nombre:"Kirguizstán",votos:0,media:0},
{nombre:"Kuwait",votos:0,media:0},
{nombre:"Laos",votos:0,media:0},
{nombre:"Lesotho",votos:0,media:0},
{nombre:"Letonia",votos:0,media:0},
{nombre:"Líbano",votos:0,media:0},
{nombre:"Liberia",votos:0,media:0},
{nombre:"Libia",votos:0,media:0},
{nombre:"Liechtenstein",votos:0,media:0},
{nombre:"Lituania",votos:0,media:0},
{nombre:"Luxemburgo",votos:0,media:0},
{nombre:"Macedonia",votos:0,media:0},
{nombre:"Madagascar",votos:0,media:0},
{nombre:"Malasia",votos:0,media:0},
{nombre:"Malawi",votos:0,media:0},
{nombre:"Maldivas",votos:0,media:0},
{nombre:"Mali",votos:0,media:0},
{nombre:"Malta",votos:0,media:0},
{nombre:"Marruecos",votos:0,media:0},
{nombre:"Marshall (Islas)",votos:0,media:0},
{nombre:"Mauricio (Isla)",votos:0,media:0},
{nombre:"Mauritania",votos:0,media:0},
{nombre:"México",votos:0,media:0},
{nombre:"Micronesia",votos:0,media:0},
{nombre:"Moldavia",votos:0,media:0},
{nombre:"Mónaco",votos:0,media:0},
{nombre:"Mongolia",votos:0,media:0},
{nombre:"Montenegro",votos:0,media:0},
{nombre:"Mozambique",votos:0,media:0},
{nombre:"Myanmar - Birmania",votos:0,media:0},
{nombre:"Namibia",votos:0,media:0},
{nombre:"Nepal",votos:0,media:0},
{nombre:"Nicaragua",votos:0,media:0},
{nombre:"Níger",votos:0,media:0},
{nombre:"Nigeria",votos:0,media:0},
{nombre:"Noruega",votos:0,media:0},
{nombre:"Nueva Zelanda",votos:0,media:0},
{nombre:"Omán",votos:0,media:0},
{nombre:"Países Bajos (Holanda)",votos:0,media:0},
{nombre:"Palestina",votos:0,media:0},
{nombre:"Panamá",votos:0,media:0},
{nombre:"Papuasia Nueva Guinea",votos:0,media:0},
{nombre:"Paquistán",votos:0,media:0},
{nombre:"Paraguay",votos:0,media:0},
{nombre:"Perú",votos:0,media:0},
{nombre:"Polonia",votos:0,media:0},
{nombre:"Portugal",votos:0,media:0},
{nombre:"Puerto Rico",votos:0,media:0},
{nombre:"Qatar",votos:0,media:0},
{nombre:"Reino Unido",votos:0,media:0},
{nombre:"Rep. Centroafricana",votos:0,media:0},
{nombre:"Rep. Dominicana",votos:0,media:0},
{nombre:"República Checa",votos:0,media:0},
{nombre:"República del Congo",votos:0,media:0},
{nombre:"Ruanda",votos:0,media:0},
{nombre:"Rumanía",votos:0,media:0},
{nombre:"Rusia",votos:0,media:0},
{nombre:"Samoa",votos:0,media:0},
{nombre:"San Marino",votos:0,media:0},
{nombre:"Senegal",votos:0,media:0},
{nombre:"Serbia",votos:0,media:0},
{nombre:"Serbia y Montenegro",votos:0,media:0},
{nombre:"Seychelles",votos:0,media:0},
{nombre:"Sierra Leona",votos:0,media:0},
{nombre:"Singapur",votos:0,media:0},
{nombre:"Siria",votos:0,media:0},
{nombre:"Somalia",votos:0,media:0},
{nombre:"Sri Lanka",votos:0,media:0},
{nombre:"Sudáfrica",votos:0,media:0},
{nombre:"Sudán",votos:0,media:0},
{nombre:"Suecia",votos:0,media:0},
{nombre:"Suiza",votos:0,media:0},
{nombre:"Surinam",votos:0,media:0},
{nombre:"Swazilandia",votos:0,media:0},
{nombre:"Tailandia",votos:0,media:0},
{nombre:"Taiwán",votos:0,media:0},
{nombre:"Tajikistan",votos:0,media:0},
{nombre:"Tanzania",votos:0,media:0},
{nombre:"Togo",votos:0,media:0},
{nombre:"Trinidad y Tobago",votos:0,media:0},
{nombre:"Túnez",votos:0,media:0},
{nombre:"Turkmenistán",votos:0,media:0},
{nombre:"Turquía",votos:0,media:0},
{nombre:"Ucrania",votos:0,media:0},
{nombre:"Uganda",votos:0,media:0},
{nombre:"Unión Soviética (URSS)",votos:0,media:0},
{nombre:"Uruguay",votos:0,media:0},
{nombre:"Uzbekistan",votos:0,media:0},
{nombre:"Venezuela",votos:0,media:0},
{nombre:"Vietnam",votos:0,media:0},
{nombre:"Yemen",votos:0,media:0},
{nombre:"Yugoslavia",votos:0,media:0},
{nombre:"Zambia",votos:0,media:0},
{nombre:"Zimbabwe",votos:0,media:0}
];
//Calculo datos continentes otro user
var datosContinentes = [
{nombre:"América del Norte",votos:0,media:0},
{nombre:'Europa',votos:0,media:0},
{nombre:"América del Sur",votos:0,media:0},
{nombre:'Oceanía',votos:0,media:0},
{nombre:'Asia',votos:0,media:0},
{nombre:'África',votos:0,media:0},
{nombre:'NA',votos:0,media:0}
];
var totalPaises = nodopais.rows.length-1;
var totalVotos = 0;
var contador = 1;
for (var i = 1; i <= totalPaises; i++) {
var pais = nodopais.rows[i].cells[1].textContent;
var votos = parseInt(nodopais.rows[i].cells[0].textContent);
totalVotos += votos;
var media = parseFloat(nodopais.rows[i].cells[2].textContent.replace(',', '.'));
var continente = getContinent(getCountryCode(pais));
var ix = inArray(datosContinentes, 'nombre', continente);
var iy = inArray(datosPaises, 'nombre', pais);
var oldVotos = datosContinentes[ix].votos;
var oldMedia = datosContinentes[ix].media;
datosContinentes[ix].votos = oldVotos + votos;
datosContinentes[ix].media = ((oldVotos * oldMedia) + (votos * media)) / (oldVotos + votos);
datosPaises[iy].votos = votos;
datosPaises[iy].media = media;
}
datosContinentes.sort(function(a, b) {
return (b.votos - a.votos);
});
datosPaises.sort(function(a, b) {
return (a.nombre - b.nombre);
});
//tablagen.className = "reptable";
tablagen.width = "100%";
tablagen.border = "0";
var txt1 = "";
var url = "http://www.filmaffinity.com/es/userrep.php?user_id=" + myid;
doGet(url, function(response) {
var emptydiv = document.createElement('div');
emptydiv.innerHTML = response;
var nodo2val = '//caption[contains(text(),"Votaciones por valor")]/following-sibling::*'.findNode(emptydiv);
var nodo2gen = '//caption[contains(text(),"Votaciones por g")]/following-sibling::*'.findNode(emptydiv);
var nodo2pais = '//caption[contains(text(),"Votaciones por pa")]/following-sibling::*'.findNode(emptydiv);
var nodo2anios = '//caption[contains(text(),"Votaciones por a")]/following-sibling::*'.findNode(emptydiv);
//Para nosotros
//Afinidad Paises
var datosPaises2 = [
{nombre:"Afganistán",votos:0,media:0},
{nombre:"Albania",votos:0,media:0},
{nombre:"Alemania",votos:0,media:0},
{nombre:"Alemania del Este (RDA)",votos:0,media:0},
{nombre:"Alemania del Oeste (RFA)",votos:0,media:0},
{nombre:"Andorra",votos:0,media:0},
{nombre:"Angola",votos:0,media:0},
{nombre:"Antigua y Barbuda",votos:0,media:0},
{nombre:"Arabia Saudí",votos:0,media:0},
{nombre:"Argelia",votos:0,media:0},
{nombre:"Argentina",votos:0,media:0},
{nombre:"Armenia",votos:0,media:0},
{nombre:"Australia",votos:0,media:0},
{nombre:"Austria",votos:0,media:0},
{nombre:"Azerbaijan",votos:0,media:0},
{nombre:"Bahamas",votos:0,media:0},
{nombre:"Bahrein",votos:0,media:0},
{nombre:"Bangladesh",votos:0,media:0},
{nombre:"Barbados",votos:0,media:0},
{nombre:"Bélgica",votos:0,media:0},
{nombre:"Belize",votos:0,media:0},
{nombre:"Benín",votos:0,media:0},
{nombre:"Bielorusia",votos:0,media:0},
{nombre:"Bolivia",votos:0,media:0},
{nombre:"Bosnia y Herzegovina",votos:0,media:0},
{nombre:"Botswana",votos:0,media:0},
{nombre:"Brasil",votos:0,media:0},
{nombre:"Brunei",votos:0,media:0},
{nombre:"Bulgaria",votos:0,media:0},
{nombre:"Burkina Faso",votos:0,media:0},
{nombre:"Burundi",votos:0,media:0},
{nombre:"Bután",votos:0,media:0},
{nombre:"Cabo Verde",votos:0,media:0},
{nombre:"Camboya",votos:0,media:0},
{nombre:"Camerún",votos:0,media:0},
{nombre:"Canadá",votos:0,media:0},
{nombre:"Chad",votos:0,media:0},
{nombre:"Checoslovaquia",votos:0,media:0},
{nombre:"Chile",votos:0,media:0},
{nombre:"China",votos:0,media:0},
{nombre:"Chipre",votos:0,media:0},
{nombre:"Colombia",votos:0,media:0},
{nombre:"Comores",votos:0,media:0},
{nombre:"Congo",votos:0,media:0},
{nombre:"Corea del Norte",votos:0,media:0},
{nombre:"Corea del Sur",votos:0,media:0},
{nombre:"Costa de Marfil",votos:0,media:0},
{nombre:"Costa Rica",votos:0,media:0},
{nombre:"Croacia",votos:0,media:0},
{nombre:"Cuba",votos:0,media:0},
{nombre:"Dinamarca",votos:0,media:0},
{nombre:"Dominica",votos:0,media:0},
{nombre:"Ecuador",votos:0,media:0},
{nombre:"Egipto",votos:0,media:0},
{nombre:"El Salvador",votos:0,media:0},
{nombre:"Emiratos Árabes",votos:0,media:0},
{nombre:"Eritrea",votos:0,media:0},
{nombre:"Eslovaquia",votos:0,media:0},
{nombre:"Eslovenia",votos:0,media:0},
{nombre:"España",votos:0,media:0},
{nombre:"Estados Unidos",votos:0,media:0},
{nombre:"Estonia",votos:0,media:0},
{nombre:"Etiopía",votos:0,media:0},
{nombre:"Fidji",votos:0,media:0},
{nombre:"Filipinas",votos:0,media:0},
{nombre:"Finlandia",votos:0,media:0},
{nombre:"Francia",votos:0,media:0},
{nombre:"Gabón",votos:0,media:0},
{nombre:"Gambia",votos:0,media:0},
{nombre:"Georgia",votos:0,media:0},
{nombre:"Ghana",votos:0,media:0},
{nombre:"Granada",votos:0,media:0},
{nombre:"Grecia",votos:0,media:0},
{nombre:"Groenlandia",votos:0,media:0},
{nombre:"Guatemala",votos:0,media:0},
{nombre:"Guinea",votos:0,media:0},
{nombre:"Guinea Bissau",votos:0,media:0},
{nombre:"Guinea Ecuatorial",votos:0,media:0},
{nombre:"Guyana",votos:0,media:0},
{nombre:"Haití",votos:0,media:0},
{nombre:"Honduras",votos:0,media:0},
{nombre:"Hong Kong",votos:0,media:0},
{nombre:"Hungría",votos:0,media:0},
{nombre:"India",votos:0,media:0},
{nombre:"Indonesia",votos:0,media:0},
{nombre:"Irak",votos:0,media:0},
{nombre:"Irán",votos:0,media:0},
{nombre:"Irlanda",votos:0,media:0},
{nombre:"Islandia",votos:0,media:0},
{nombre:"Israel",votos:0,media:0},
{nombre:"Italia",votos:0,media:0},
{nombre:"Jamaica",votos:0,media:0},
{nombre:"Japón",votos:0,media:0},
{nombre:"Jordania",votos:0,media:0},
{nombre:"Kazajstán",votos:0,media:0},
{nombre:"Kenia",votos:0,media:0},
{nombre:"Kirguizstán",votos:0,media:0},
{nombre:"Kuwait",votos:0,media:0},
{nombre:"Laos",votos:0,media:0},
{nombre:"Lesotho",votos:0,media:0},
{nombre:"Letonia",votos:0,media:0},
{nombre:"Líbano",votos:0,media:0},
{nombre:"Liberia",votos:0,media:0},
{nombre:"Libia",votos:0,media:0},
{nombre:"Liechtenstein",votos:0,media:0},
{nombre:"Lituania",votos:0,media:0},
{nombre:"Luxemburgo",votos:0,media:0},
{nombre:"Macedonia",votos:0,media:0},
{nombre:"Madagascar",votos:0,media:0},
{nombre:"Malasia",votos:0,media:0},
{nombre:"Malawi",votos:0,media:0},
{nombre:"Maldivas",votos:0,media:0},
{nombre:"Mali",votos:0,media:0},
{nombre:"Malta",votos:0,media:0},
{nombre:"Marruecos",votos:0,media:0},
{nombre:"Marshall (Islas)",votos:0,media:0},
{nombre:"Mauricio (Isla)",votos:0,media:0},
{nombre:"Mauritania",votos:0,media:0},
{nombre:"México",votos:0,media:0},
{nombre:"Micronesia",votos:0,media:0},
{nombre:"Moldavia",votos:0,media:0},
{nombre:"Mónaco",votos:0,media:0},
{nombre:"Mongolia",votos:0,media:0},
{nombre:"Montenegro",votos:0,media:0},
{nombre:"Mozambique",votos:0,media:0},
{nombre:"Myanmar - Birmania",votos:0,media:0},
{nombre:"Namibia",votos:0,media:0},
{nombre:"Nepal",votos:0,media:0},
{nombre:"Nicaragua",votos:0,media:0},
{nombre:"Níger",votos:0,media:0},
{nombre:"Nigeria",votos:0,media:0},
{nombre:"Noruega",votos:0,media:0},
{nombre:"Nueva Zelanda",votos:0,media:0},
{nombre:"Omán",votos:0,media:0},
{nombre:"Países Bajos (Holanda)",votos:0,media:0},
{nombre:"Palestina",votos:0,media:0},
{nombre:"Panamá",votos:0,media:0},
{nombre:"Papuasia Nueva Guinea",votos:0,media:0},
{nombre:"Paquistán",votos:0,media:0},
{nombre:"Paraguay",votos:0,media:0},
{nombre:"Perú",votos:0,media:0},
{nombre:"Polonia",votos:0,media:0},
{nombre:"Portugal",votos:0,media:0},
{nombre:"Puerto Rico",votos:0,media:0},
{nombre:"Qatar",votos:0,media:0},
{nombre:"Reino Unido",votos:0,media:0},
{nombre:"Rep. Centroafricana",votos:0,media:0},
{nombre:"Rep. Dominicana",votos:0,media:0},
{nombre:"República Checa",votos:0,media:0},
{nombre:"República del Congo",votos:0,media:0},
{nombre:"Ruanda",votos:0,media:0},
{nombre:"Rumanía",votos:0,media:0},
{nombre:"Rusia",votos:0,media:0},
{nombre:"Samoa",votos:0,media:0},
{nombre:"San Marino",votos:0,media:0},
{nombre:"Senegal",votos:0,media:0},
{nombre:"Serbia",votos:0,media:0},
{nombre:"Serbia y Montenegro",votos:0,media:0},
{nombre:"Seychelles",votos:0,media:0},
{nombre:"Sierra Leona",votos:0,media:0},
{nombre:"Singapur",votos:0,media:0},
{nombre:"Siria",votos:0,media:0},
{nombre:"Somalia",votos:0,media:0},
{nombre:"Sri Lanka",votos:0,media:0},
{nombre:"Sudáfrica",votos:0,media:0},
{nombre:"Sudán",votos:0,media:0},
{nombre:"Suecia",votos:0,media:0},
{nombre:"Suiza",votos:0,media:0},
{nombre:"Surinam",votos:0,media:0},
{nombre:"Swazilandia",votos:0,media:0},
{nombre:"Tailandia",votos:0,media:0},
{nombre:"Taiwán",votos:0,media:0},
{nombre:"Tajikistan",votos:0,media:0},
{nombre:"Tanzania",votos:0,media:0},
{nombre:"Togo",votos:0,media:0},
{nombre:"Trinidad y Tobago",votos:0,media:0},
{nombre:"Túnez",votos:0,media:0},
{nombre:"Turkmenistán",votos:0,media:0},
{nombre:"Turquía",votos:0,media:0},
{nombre:"Ucrania",votos:0,media:0},
{nombre:"Uganda",votos:0,media:0},
{nombre:"Unión Soviética (URSS)",votos:0,media:0},
{nombre:"Uruguay",votos:0,media:0},
{nombre:"Uzbekistan",votos:0,media:0},
{nombre:"Venezuela",votos:0,media:0},
{nombre:"Vietnam",votos:0,media:0},
{nombre:"Yemen",votos:0,media:0},
{nombre:"Yugoslavia",votos:0,media:0},
{nombre:"Zambia",votos:0,media:0},
{nombre:"Zimbabwe",votos:0,media:0}
];
var datosContinentes2 = [
{nombre:"América del Norte",votos:0,media:0},
{nombre:'Europa',votos:0,media:0},
{nombre:"América del Sur",votos:0,media:0},
{nombre:'Oceanía',votos:0,media:0},
{nombre:'Asia',votos:0,media:0},
{nombre:'África',votos:0,media:0},
{nombre:'NA',votos:0,media:0}
];
var totalPaises2 = nodo2pais.rows.length-1;
var totalVotos2 = 0;
var contador2 = 1;
for (var j = 1; j <= totalPaises2; j++) {
var pais2 = nodo2pais.rows[j].cells[1].textContent;
//Arreglamos el nombre del pais
if(pais2.indexOf("n Sovi") != -1)
pais2 = 'Unión Soviética (URSS)';
else if(pais2.indexOf("Jap") != -1)
pais2 = 'Japón';
else if(pais2.indexOf("Espa") != -1)
pais2 = 'España';
else if(pais2.indexOf("Canad") != -1)
pais2 = 'Canadá';
else if(pais2.indexOf("Taiw") != -1)
pais2 = 'Taiwán';
else if(pais2.indexOf("xico") != -1)
pais2 = 'México';
else if(pais2.indexOf("lgica") != -1)
pais2 = 'Bélgica';
else if(pais2.indexOf("Ruman") != -1)
pais2 = 'Rumanía';
else if(pais2.indexOf("frica") != -1)
pais2 = 'Sudáfrica';
else if(pais2.indexOf("Turq") != -1)
pais2 = 'Turquía';
else if(pais2.indexOf("nia del Oest") != -1)
pais2 = 'Alemania del Oeste (RFA)';
else if(pais2.indexOf("nia del Est") != -1)
pais2 = 'Alemania del Este (RDA)';
else if(pais2.indexOf("ca Checa") != -1)
pais2 = 'República Checa';
else if(pais2.indexOf("Ir") == 0 && pais2.indexOf("Irl") == -1)
pais2 = 'Irán';
else if(pais2.indexOf("Paquist") != -1)
pais2 = 'Paquistán';
else if(pais2.indexOf("bano") != -1)
pais2 = 'Líbano';
else if(pais2.indexOf("Hungr") != -1)
pais2 = 'Hungría';
else if(pais2.indexOf("Afganis") != -1)
pais2 = 'Afganistán';
else if(pais2.indexOf("Kazajs") != -1)
pais2 = 'Kazajstán';
else if(pais2.indexOf("But") != -1)
pais2 = 'Bután';
else if(pais2.indexOf("Etiop") != -1)
pais2 = 'Etiopía';
else if(pais2.indexOf("Panam") != -1)
pais2 = 'Panamá';
else if(pais2.indexOf("Emiratos") != -1)
pais2 = 'Emiratos Árabes';
else if(pais2.indexOf("Camer") != -1)
pais2 = 'Camerún';
else if(pais2.indexOf("Per") != -1)
pais2 = 'Perú';
else if(pais2.indexOf("ses Bajos") != -1)
pais2 = 'Países Bajos (Holanda)';
else if(pais2.indexOf("T") == 0 && pais2.indexOf("nez") != -1)
pais2 = 'Túnez';
else if(pais2.indexOf("rabia Sau") != -1)
pais2 = 'Arabia Saudí';
else if(pais2.indexOf("rabia Sau") != -1)
pais2 = 'Arabia Saudí';
else if(pais2.indexOf("Ben") != -1 && pais2.length == 5)
pais2 = 'Benín';
else if(pais2.indexOf("Gab") != -1)
pais2 = 'Gabón';
else if(pais2.indexOf("Hait") != -1)
pais2 = 'Haití';
else if(pais2.indexOf("Kirg") != -1)
pais2 = 'Kirguizstán';
else if(pais2.indexOf("naco") != -1)
pais2 = 'Mónaco';
else if(pais2.indexOf("ger") != -1 && pais2.length == 5)
pais2 = 'Níger';
else if(pais2.indexOf("Om") != -1)
pais2 = 'Omán';
else if(pais2.indexOf("lica del Con") != -1)
pais2 = 'República del Congo';
else if(pais2.indexOf("Turkmenist") != -1)
pais2 = 'Turkmenistán';
var votos2 = parseInt(nodo2pais.rows[j].cells[0].textContent);
totalVotos2 += votos2;
var media2 = parseFloat(nodo2pais.rows[j].cells[2].textContent.replace(',', '.'));
var continente2 = getContinent(getCountryCode(pais2));
var ix = inArray(datosContinentes2, 'nombre', continente2);
var it = inArray(datosPaises2, 'nombre', pais2);
var oldVotos2 = datosContinentes2[ix].votos;
var oldMedia2 = datosContinentes2[ix].media;
datosContinentes2[ix].votos = oldVotos2 + votos2;
datosContinentes2[ix].media = ((oldVotos2 * oldMedia2) + (votos2 * media2)) / (oldVotos2 + votos2);
datosPaises2[it].votos = votos2;
datosPaises2[it].media = media2;
}
datosContinentes2.sort(function(a, b) {
return (b.votos - a.votos);
});
datosPaises2.sort(function(a, b) {
return (a.nombre - b.nombre);
});
//Afinidad géneros
var datosGeneros2 = [
{nombre:"Drama",votos:0,media:0},
{nombre:'Comedia',votos:0,media:0},
{nombre:"Thriller",votos:0,media:0},
{nombre:'Romance',votos:0,media:0},
{nombre:'Acción',votos:0,media:0},
{nombre:'Fantástico',votos:0,media:0},
{nombre:'Intriga',votos:0,media:0},
{nombre:"Ciencia ficción",votos:0,media:0},
{nombre:'Aventuras',votos:0,media:0},
{nombre:"Animación",votos:0,media:0},
{nombre:'Terror',votos:0,media:0},
{nombre:'Documental',votos:0,media:0},
{nombre:'Infantil',votos:0,media:0},
{nombre:'Musical',votos:0,media:0},
{nombre:"Western",votos:0,media:0},
{nombre:'Bélico',votos:0,media:0},
{nombre:"Cine negro",votos:0,media:0},
{nombre:'Serie de TV',votos:0,media:0}
];
var totalGens2 = nodo2gen.rows.length-1;
for (var i = 1; i <= totalGens2; i++) {
var genero2 = nodo2gen.rows[i].cells[1].textContent;
var votos2 = parseInt(nodo2gen.rows[i].cells[0].textContent);
var media2 = parseFloat(nodo2gen.rows[i].cells[2].textContent.replace(',', '.'));
if(genero2.indexOf("Acci") != -1)
genero2 = 'Acción';
else if(genero2.indexOf("Fant") != -1)
genero2 = 'Fantástico';
else if(genero2.indexOf("Ciencia fic") != -1)
genero2 = 'Ciencia ficción';
else if(genero2.indexOf("Animaci") != -1)
genero2 = 'Animación';
else if(genero2.indexOf("lico") != -1)
genero2 = 'Bélico';
var ix2 = inArray(datosGeneros2, 'nombre', genero2);
datosGeneros2[ix2].votos = votos2;
datosGeneros2[ix2].media = media2;
}
datosGeneros2.sort(function(a, b) {
return (a.nombre - b.nombre);
});
//Afinidad Paises
txt1 += '<tbody>';
//Tablas de VALORACIONES
txt1 += '<tr><td align="center" colspan="2"><b><FONT SIZE=4>Votaciones por valoración</FONT></b></td></tr>';
txt1 += '<tr><td width="50%" align="center"><b><FONT SIZE=2 COLOR=BLUE>' + nick1 + '</FONT></b></td><td width="50%" align="center"><b><FONT SIZE=2 COLOR=GREEN>' + nick2 + '</FONT></b></td></tr>';
txt1 += '<tr><td><table class="reptable" align="center"><tbody>';
txt1 += '<tr><th>' + nodoval.rows[0].cells[0].textContent + '</th><th>' + nodoval.rows[0].cells[1].textContent + '</th><th>' + nodoval.rows[0].cells[2].textContent + '</th></tr>';
for(i = 1; i < nodoval.rows.length; i++) {
txt1 += '<tr><td class="repitem" align="center"><b>' + nodoval.rows[i].cells[0].textContent + '</b></td>'; //Valoración
txt1 += '<td><img align="top" src="/images/bars/bar1.gif" border="0" width="' + Math.round(parseInt(nodoval.rows[i].cells[1].firstChild.width)*0.82) + '" height="14" border="1">' + nodoval.rows[i].cells[1].textContent + '</td>'; //Porcentaje
txt1 += '<td align="right">' + nodoval.rows[i].cells[2].textContent + '</td></tr>'; //Votos
}
txt1 += '</table></td>';
txt1 += '<td><table class="reptable" align="center"><tbody>';
txt1 += '<tr><th>' + nodoval.rows[0].cells[0].textContent + '</th><th>' + nodoval.rows[0].cells[1].textContent + '</th><th>' + nodoval.rows[0].cells[2].textContent + '</th></tr>';
for(i = 1; i < nodo2val.rows.length; i++) {
txt1 += '<tr><td class="repitem" align="center"><b>' + nodo2val.rows[i].cells[0].textContent + '</b></td>'; //Valoración
txt1 += '<td><img align="top" src="/images/bars/bar1.gif" border="0" width="' + Math.round(parseInt(nodo2val.rows[i].cells[1].firstChild.width)*0.82) + '" height="14" border="1">' + nodo2val.rows[i].cells[1].textContent + '</td>'; //Porcentaje
txt1 += '<td align="right">' + nodo2val.rows[i].cells[2].textContent + '</td></tr>'; //Votos
}
txt1 += '</table></td></tr>';
//Tablas de GENEROS
txt1 += '<tr><td> </td></tr>';
txt1 += '<tr><td align="center" colspan="2"><b><FONT SIZE=4>Votaciones por géneros</FONT></b></td></tr>';
txt1 += '<tr><td width="50%" align="center"><b><FONT SIZE=2 COLOR=BLUE>' + nick1 + '</FONT></b></td><td width="50%" align="center"><b><FONT SIZE=2 COLOR=GREEN>' + nick2 + '</FONT></b></td></tr>';
txt1 += '<tr><td><table class="reptable" align="center"><tbody>';
txt1 += '<tr><th>' + nodogen.rows[0].cells[0].textContent + '</th><th>' + nodogen.rows[0].cells[1].textContent + '</th><th>' + nodogen.rows[0].cells[2].textContent + '</th></tr>';
for(i = 1; i < nodogen.rows.length; i++) {
txt1 += '<tr><td align="right">' + nodogen.rows[i].cells[0].textContent + '<img align="top" src="/images/bars/bar1.gif" border="0" width="' + Math.round(parseInt(nodogen.rows[i].cells[0].lastChild.width)*0.91) + '" height="14" border="1"></td>';
txt1 += '<td class="repitem" align="center">' + nodogen.rows[i].cells[1].textContent + '</td>';
txt1 += '<td><img align="top" src="/images/bars/bar1.gif" border="0" width="' + Math.round(parseInt(nodogen.rows[i].cells[2].firstChild.width)*0.91) + '" height="14" border="1">' + nodogen.rows[i].cells[2].textContent + '</td></tr>';
}
txt1 += '</table></td>';
txt1 += '<td><table class="reptable" align="center"><tbody>';
txt1 += '<tr><th>' + nodogen.rows[0].cells[0].textContent + '</th><th>' + nodogen.rows[0].cells[1].textContent + '</th><th>' + nodogen.rows[0].cells[2].textContent + '</th></tr>';
for(i = 1; i < nodo2gen.rows.length; i++) {
txt1 += '<tr><td align="right">' + nodo2gen.rows[i].cells[0].textContent + '<img align="top" src="/images/bars/bar1.gif" border="0" width="' + Math.round(parseInt(nodo2gen.rows[i].cells[0].lastChild.width)*0.91) + '" height="14" border="1"></td>';
txt1 += '<td class="repitem" align="center">';
txt2 = nodo2gen.rows[i].cells[1].textContent;
if(txt2.indexOf("Acci") != -1)
txt1 += 'Acción</td>';
else if(txt2.indexOf("Fant") != -1)
txt1 += 'Fantástico</td>';
else if(txt2.indexOf("Ciencia fic") != -1)
txt1 += 'Ciencia ficción</td>';
else if(txt2.indexOf("Animaci") != -1)
txt1 += 'Animación</td>';
else if(txt2.indexOf("lico") != -1)
txt1 += 'Bélico</td>';
else
txt1 += txt2 + '</td>';
txt1 += '<td><img align="top" src="/images/bars/bar1.gif" border="0" width="' + Math.round(parseInt(nodo2gen.rows[i].cells[2].firstChild.width)*0.91) + '" height="14" border="1">' + nodo2gen.rows[i].cells[2].textContent + '</td></tr>';
}
txt1 += '</table></td></tr>';
//Tablas de PAISES
txt1 += '<tr><td> </td></tr>';
txt1 += '<tr><td align="center" colspan="2"><b><FONT SIZE=4>Votaciones por países</FONT></b></td></tr>';
txt1 += '<tr><td width="50%" align="center"><b><FONT SIZE=2 COLOR=BLUE>' + nick1 + '</FONT></b></td><td width="50%" align="center"><b><FONT SIZE=2 COLOR=GREEN>' + nick2 + '</FONT></b></td></tr>';
txt1 += '<tr><td style="vertical-align:top"><table class="reptable" align="center"><tbody>';
txt1 += '<tr><th>' + nodopais.rows[0].cells[0].textContent + '</th><th>' + nodopais.rows[0].cells[1].textContent + '</th><th>' + nodopais.rows[0].cells[2].textContent + '</th></tr>';
for(i = 1; i < nodopais.rows.length; i++) {
txt1 += '<tr><td align="right">' + nodopais.rows[i].cells[0].textContent + '<img align="top" src="/images/bars/bar1.gif" border="0" width="' + Math.round(parseInt(nodopais.rows[i].cells[0].lastChild.width)*0.75) + '" height="14" border="1"></td>';
txt2 = nodopais.rows[i].cells[1].textContent;
txt1 += '<td class="repitem" align="center">';
if(txt2.indexOf("n Sovi") != -1)
txt1 += 'Unión Soviética</td>';
else if(txt2.indexOf("nia del Oest") != -1)
txt1 += 'Alemania del Oeste</td>';
else if(txt2.indexOf("nia del Est") != -1)
txt1 += 'Alemania del Este</td>';
else if(txt2.indexOf("ses Bajos") != -1)
txt1 += 'Holanda</td>';
else
txt1 += nodopais.rows[i].cells[1].textContent + '</td>';
txt1 += '<td><img align="top" src="/images/bars/bar1.gif" border="0" width="' + Math.round(parseInt(nodopais.rows[i].cells[2].firstChild.width)*0.78) + '" height="14" border="1">' + nodopais.rows[i].cells[2].textContent + '</td></tr>';
}
txt1 += '</table></td>';
txt1 += '<td style="vertical-align:top"><table class="reptable" align="center"><tbody>';
txt1 += '<tr><th>' + nodopais.rows[0].cells[0].textContent + '</th><th>' + nodopais.rows[0].cells[1].textContent + '</th><th>' + nodopais.rows[0].cells[2].textContent + '</th></tr>';
for(i = 1; i < nodo2pais.rows.length; i++) {
txt1 += '<tr><td align="right">' + nodo2pais.rows[i].cells[0].textContent + '<img align="top" src="/images/bars/bar1.gif" border="0" width="' + Math.round(parseInt(nodo2pais.rows[i].cells[0].lastChild.width)*0.75) + '" height="14" border="1"></td>';
txt2 = nodo2pais.rows[i].cells[1].textContent;
txt1 += '<td class="repitem" align="center">';
if(txt2.indexOf("n Sovi") != -1)
txt1 += 'Unión Soviética</td>';
else if(txt2.indexOf("Jap") != -1)
txt1 += 'Japón</td>';
else if(txt2.indexOf("Espa") != -1)
txt1 += 'España</td>';
else if(txt2.indexOf("Canad") != -1)
txt1 += 'Canadá</td>';
else if(txt2.indexOf("Taiw") != -1)
txt1 += 'Taiwán</td>';
else if(txt2.indexOf("xico") != -1)
txt1 += 'México</td>';
else if(txt2.indexOf("lgica") != -1)
txt1 += 'Bélgica</td>';
else if(txt2.indexOf("Ruman") != -1)
txt1 += 'Rumanía</td>';
else if(txt2.indexOf("frica") != -1)
txt1 += 'Suráfrica</td>';
else if(txt2.indexOf("Turq") != -1)
txt1 += 'Turquía</td>';
else if(txt2.indexOf("nia del Oest") != -1)
txt1 += 'Alemania del Oeste</td>';
else if(txt2.indexOf("nia del Est") != -1)
txt1 += 'Alemania del Este</td>';
else if(txt2.indexOf("ca Checa") != -1)
txt1 += 'República Checa</td>';
else if(txt2.indexOf("Ir") == 0 && txt2.indexOf("Irl") == -1)
txt1 += 'Irán</td>';
else if(txt2.indexOf("Paquist") != -1)
txt1 += 'Paquistán</td>';
else if(txt2.indexOf("bano") != -1)
txt1 += 'Líbano</td>';
else if(txt2.indexOf("Hungr") != -1)
txt1 += 'Hungría</td>';
else if(txt2.indexOf("Afganis") != -1)
txt1 += 'Afganistán</td>';
else if(txt2.indexOf("Kazajs") != -1)
txt1 += 'Kazajstán</td>';
else if(txt2.indexOf("But") != -1)
txt1 += 'Bután</td>';
else if(txt2.indexOf("Etiop") != -1)
txt1 += 'Etiopía</td>';
else if(txt2.indexOf("Panam") != -1)
txt1 += 'Panamá</td>';
else if(txt2.indexOf("Emiratos") != -1)
txt1 += 'Emiratos Árabes</td>';
else if(txt2.indexOf("Camer") != -1)
txt1 += 'Camerún</td>';
else if(txt2.indexOf("Per") != -1)
txt1 += 'Perú</td>';
else if(txt2.indexOf("ses Bajos") != -1)
txt1 += 'Holanda</td>';
else if(txt2.indexOf("T") == 0 && txt2.indexOf("nez") != -1)
txt1 += 'Túnez</td>';
else
txt1 += txt2 + '</td>';
txt1 += '<td><img align="top" src="/images/bars/bar1.gif" border="0" width="' + Math.round(parseInt(nodo2pais.rows[i].cells[2].firstChild.width)*0.78) + '" height="14" border="1">' + nodo2pais.rows[i].cells[2].textContent + '</td></tr>';
}
txt1 += '</table></td></tr>';
//Tabla de continentes
txt1 += '<tr><td> </td></tr>';
txt1 += '<tr><td align="center" colspan="2"><b><FONT SIZE=4>Votaciones por continentes</FONT></b></td></tr>';
txt1 += '<tr><td width="50%" align="center"><b><FONT SIZE=2 COLOR=BLUE>' + nick1 + '</FONT></b></td><td width="50%" align="center"><b><FONT SIZE=2 COLOR=GREEN>' + nick2 + '</FONT></b></td></tr>';
txt1 += '<tr><td><table class="reptable" align="center" width="355px"><tbody>';
txt1 += '<tr><th>' + nodopais.rows[0].cells[0].textContent + '</th><th>' + "Continente" + '</th><th>' + nodopais.rows[0].cells[2].textContent + '</th></tr>';
for(i = 0; i < 6; i++){
txt1 += '<tr><td align="right">' + datosContinentes[i].votos + ' <img align="top" src="/images/bars/bar1.gif" border="0" width="' + Math.round(Math.sqrt((datosContinentes[i].votos*120)/totalVotos)*8) + '" height="14" border="1"></td>';
txt1 += '<td class="repitem" align="center">' + datosContinentes[i].nombre + '</td>';
txt1 += '<td><img align="top" src="/images/bars/bar1.gif" border="0" width="' + Math.round(((Math.round(datosContinentes[i].media*10)/10)*120)/10) + '" height="14" border="1"> ' + ((Math.round(datosContinentes[i].media*10)/10).toFixed(1) + '').replace('.', ',') + '</td></tr>';
}
txt1 += '</table></td>';
txt1 += '<td><table class="reptable" align="center" width="355px"><tbody>';
txt1 += '<tr><th>' + nodopais.rows[0].cells[0].textContent + '</th><th>' + "Continente" + '</th><th>' + nodopais.rows[0].cells[2].textContent + '</th></tr>';
for(i = 0; i < 6; i++) {
txt1 += '<tr><td align="right">' + datosContinentes2[i].votos + ' <img align="top" src="/images/bars/bar1.gif" border="0" width="' + Math.round(Math.sqrt((datosContinentes2[i].votos*120)/totalVotos2)*8) + '" height="14" border="1"></td>';
txt1 += '<td class="repitem" align="center">' + datosContinentes2[i].nombre + '</td>';
txt1 += '<td><img align="top" src="/images/bars/bar1.gif" border="0" width="' + Math.round(((Math.round(datosContinentes2[i].media*10)/10)*120)/10) + '" height="14" border="1"> ' + ((Math.round(datosContinentes2[i].media*10)/10).toFixed(1) + '').replace('.', ',') + '</td></tr>';
}
txt1 += '</table></td></tr>';
//Tabla de años
txt1 += '<tr><td> </td></tr>';
txt1 += '<tr><td align="center" colspan="2"><b><FONT SIZE=4>Votaciones por años</FONT></b></td></tr>';
txt1 += '<tr><td width="50%" align="center"><b><FONT SIZE=2 COLOR=BLUE>' + nick1 + '</FONT></b></td><td width="50%" align="center"><b><FONT SIZE=2 COLOR=GREEN>' + nick2 + '</FONT></b></td></tr>';
txt1 += '<tr><td><table class="reptable" align="center"><tbody>';
txt1 += '<tr><th>' + nodoanios.rows[0].cells[0].textContent + '</th><th>' + nodoanios.rows[0].cells[1].textContent + '</th><th>' + nodoanios.rows[0].cells[2].textContent + '</th></tr>';
for(i = 1; i < nodoanios.rows.length; i++) {
txt1 += '<tr><td align="right">' + nodoanios.rows[i].cells[0].textContent + '<img align="top" src="/images/bars/bar1.gif" border="0" width="' + Math.round(parseInt(nodoanios.rows[i].cells[0].lastChild.width)*0.93) + '" height="14" border="1"></td>';
txt1 += '<td class="repitem" align="center">' + nodoanios.rows[i].cells[1].textContent + '</td>';
txt1 += '<td><img align="top" src="/images/bars/bar1.gif" border="0" width="' + Math.round(parseInt(nodoanios.rows[i].cells[2].firstChild.width)*0.93) + '" height="14" border="1">' + nodoanios.rows[i].cells[2].textContent + '</td></tr>';
}
txt1 += '</table></td>';
txt1 += '<td><table class="reptable" align="center"><tbody>';
txt1 += '<tr><th>' + nodoanios.rows[0].cells[0].textContent + '</th><th>' + nodoanios.rows[0].cells[1].textContent + '</th><th>' + nodoanios.rows[0].cells[2].textContent + '</th></tr>';
for(i = 1; i < nodo2anios.rows.length; i++) {
txt1 += '<tr><td align="right">' + nodo2anios.rows[i].cells[0].textContent + '<img align="top" src="/images/bars/bar1.gif" border="0" width="' + Math.round(parseInt(nodo2anios.rows[i].cells[0].lastChild.width)*0.93) + '" height="14" border="1"></td>';
txt1 += '<td class="repitem" align="center">' + nodo2anios.rows[i].cells[1].textContent + '</td>';
txt1 += '<td><img align="top" src="/images/bars/bar1.gif" border="0" width="' + Math.round(parseInt(nodo2anios.rows[i].cells[2].firstChild.width)*0.93) + '" height="14" border="1">' + nodo2anios.rows[i].cells[2].textContent + '</td></tr>';
}
txt1 += '</table></td></tr>';
//Afinidad
txt1 += '<tr><td> </td></tr>';
txt1 += '<tr><td align="center" colspan="2"><b><FONT SIZE=4>Afinidad (<FONT SIZE=3 COLOR=BLUE>' + nick1 + "</FONT> - <FONT SIZE=3 COLOR=GREEN>" + nick2 + '</FONT>)</FONT></b></td></tr>';
//Valoración
var afnvot = 0.0, afnvot2 = 0.0;
for(i = 1; i <= 10; i++){
var porcv1 = nodoval.rows[i].cells[1].textContent.split('%')[0].replace(',','.');
var porcv2 = nodo2val.rows[i].cells[1].textContent.split('%')[0].replace(',','.');
var difn2 = Math.abs(parseFloat(porcv1)-parseFloat(porcv2));
afnvot2 += afinidad_votos(difn2);
}
afnvot = afnvot2;
afnvot2 = 5*afnvot2;
txt1 += '<tr><td align="center" colspan="2" style="padding-top:2px" width="180px"><b><FONT SIZE=3 COLOR="#447CAD">Valoración</FONT> ' + afnvot2.toFixed(1) + ' %</b></td></tr>';
//Géneros
var afngen = 0.0, afngen2 = 0.0, afngen3 = 0.0;
for(i = 0; i <= 17; i++){
var porcg1 = datosGeneros[i].votos/totalVotos;
var porcg2 = datosGeneros2[i].votos/totalVotos2;
var medg1 = datosGeneros[i].media;
var medg2 = datosGeneros2[i].media;
var difn = Math.abs((porcg1*100)-(porcg2*100));
var difn2 = Math.abs(parseFloat(medg1)-parseFloat(medg2));
afngen += afinidad_votos(difn)*0.5;
afngen2 += afinidad_medias(difn2)*0.5;
}
afngen3 = (afngen+afngen2)*2.78;
txt1 += '<tr><td align="center" colspan="2" width="180px"><b><FONT SIZE=3 COLOR="#447CAD">Géneros</FONT> ' + afngen3.toFixed(1) + ' %</b></td></tr>';
//Afinidad paises
var afnnpaises = afinidad_npaises(Math.abs(totalPaises-totalPaises2))*2.5;
var afnp = 0.0, afnp2 = 0.0, afnp3 = 0.0, afnp4 = 0.0;
var contp = 0;
for(i = 0; i <= 189; i++){
if(datosPaises[i].votos != 0 && datosPaises2[i].votos != 0){
contp++;
var porcg1 = datosPaises[i].votos/totalVotos;
var porcg2 = datosPaises2[i].votos/totalVotos2;
var medg1 = datosPaises[i].media;
var medg2 = datosPaises2[i].media;
var difn = Math.abs((porcg1*100)-(porcg2*100));
var difn2 = Math.abs(parseFloat(medg1)-parseFloat(medg2));
afnp += afinidad_votos(difn);
afnp2 += afinidad_medias(difn2);
}
}
afnp3 = ((afnp*8.5)/(2*contp)) + ((afnp2*8.5)/(2*contp));
afnp4 = (afnp3*5.588235294117647)+afnnpaises;
txt1 += '<tr><td align="center" colspan="2" width="180px"><b><FONT SIZE=3 COLOR="#447CAD">Países</FONT> ' + afnp4.toFixed(1) + ' %</b></td></tr>';
//Años
var afnanios = 0.0, afnanios2 = 0.0, afnanios3 = 0.0;
for(i = 1; i <= 22; i++){
var porcg1 = parseFloat(nodoanios.rows[i].cells[0].textContent)/totalVotos;
var porcg2 = parseFloat(nodo2anios.rows[i].cells[0].textContent)/totalVotos2;
var medg1 = parseFloat(nodoanios.rows[i].cells[2].textContent.replace(',', '.'));
var medg2 = parseFloat(nodo2anios.rows[i].cells[2].textContent.replace(',', '.'));
porcg1 = porcg1*100;
porcg2 = porcg2*100;
var difn = Math.abs(porcg1-porcg2);
var difn2 = Math.abs(parseFloat(medg1)-parseFloat(medg2));
afnanios += afinidad_votos_años(difn);
afnanios2 += afinidad_medias(difn2);
}
afnanios = afnanios*0.375;
afnanios2 = afnanios2*0.125;
afnanios3 = (afnanios+afnanios2)*4.545454545454545;
txt1 += '<tr><td align="center" colspan="2" width="180px"><b><FONT SIZE=3 COLOR="#447CAD">Años</FONT> ' + afnanios3.toFixed(1) + ' %</b></td></tr>';
//Afinidad total
// 20% afnvot - 18% votos gen - 18% media gen - 5% npaises - 17% paises - 16,5% votos anios - 5,5 medias anios
var afntotal = afnvot + afngen + afngen2 + afnp3 + afnnpaises + afnanios + afnanios2;
//alert(afnvot + "-" + afngen + "-" + afngen2 + "-" + afnp3 + "-" + afnnpaises + "-" + afnanios + "-" + afnanios2);
txt1 += '<tr><td align="center" colspan="2" width="180px" style="padding-top:2px"><b><FONT SIZE=5 COLOR="F0860C">TOTAL</FONT> <FONT SIZE=5>' + afntotal.toFixed(1) + ' </FONT>%</b></td></tr>';
tablagen.innerHTML = txt1;
nodotodo.parentNode.insertBefore(tablagen, nodotodo);
});
nodoval.parentNode.parentNode.removeChild(nodoval.parentNode);
nodogen.parentNode.parentNode.removeChild(nodogen.parentNode);
nodopais.parentNode.parentNode.removeChild(nodopais.parentNode);
nodoanios.parentNode.parentNode.removeChild(nodoanios.parentNode);
}
//Añade información (nota+votos) de otras páginas
function doAddExtraRatings(){
function extractTranslatedTitle() {
var nodo = "//span[@itemprop='name']".findNode();
return nodo.textContent.clearTitle();
}
function extractOriginalTitle(){
var nodo = "//dt[contains(text(),'tulo original')]/following-sibling::*".findNode();
return nodo.textContent.clearTitle();
}
var isSerie = false;
var tit_traducido = extractTranslatedTitle().split(' ').join('+');
var tit_original = extractOriginalTitle().split(' ').join('+');
var anio = "//dt[text()='Año']/following-sibling::*".findNode().lastChild.textContent.trim();
//Para animes
var isAnime = false;
var generoanm = '//dt[text()="Reparto"]/following-sibling::*/a'.findNode();
var paisanm = '//dt[text()="País"]/following-sibling::*'.findNode();
var urlmal = "";
var animeTitle = "";
if(generoanm.textContent == "Animation" && paisanm.textContent.trim() == "Japón"){
isAnime = true;
if ("//span[@itemprop='name']".findNode().textContent.indexOf("Serie de TV") > -1){
var auxanm = "//dt[contains(text(),'tulo original')]/following-sibling::*".findNode().textContent;
var coincidencias = auxanm.match(/\(/g);
var numcars = coincidencias ? coincidencias.length : 0;
if(numcars == 1)
animeTitle = tit_original;
else
animeTitle = auxanm.split('(')[1].split(')')[0];
}
else {
var auxanm = "//dt[contains(text(),'tulo original')]/following-sibling::*".findNode().textContent;
var coincidencias = auxanm.match(/\(/g);
var numcars = coincidencias ? coincidencias.length : 0;
if(numcars >= 1)
animeTitle = auxanm.split('(')[1].split(')')[0];
else
animeTitle = tit_original;
}
urlmal = "https://www.google.es/search?q=" + animeTitle.split(' ').join('+') + "+score+users+myanimelist";
}
//Comprobar si es serie de tv
if ("//span[@itemprop='name']".findNode().textContent.indexOf("Serie de TV") > -1)
isSerie = true;
//Urls
var urlimdb = "https://www.google.es/search?q=" + tit_original.replace('#',' ') + "+" + anio + "+imdb";
var urlrtn = "https://www.google.es/search?q=" + tit_original.replace('#',' ') + "+" + anio + '+tomatoes+"user+ratings:"+liked+it';
var urlrtn2 = "https://www.google.es/search?q=" + tit_original.replace('#',' ') + '+"User+Ratings:"+"Average+Rating"+"liked+it."+site:www.rottentomatoes.com';
//var urlabd = "https://www.google.es/search?q=" + tit_traducido.replace('#',' ') + "+" + anio + "+abandomoviez+puntos+total";
//var urlabd2 = "https://www.google.es/search?q=" + tit_traducido.replace('#',' ') + "+" + anio + '+pts+"(Total:"+www.abandomoviez.net/movil/';
var nodop = '//div[@class="share-links-movie"]'.findNode();
//Creamos un nuevo cuadro para las notas
var newdiv = d.createElement('div');
newdiv.style.backgroundColor = "#F0F0F0";
newdiv.style.border = "1px solid #CDDCEB";
newdiv.style.textAlign = "center";
newdiv.style.margin = "10px";
newdiv.style.display = "block";
var auximdb;
var notaimdb;
var votosimdb;
var auxrtn;
var notartn;
var votosrtn;
//var auxabd, notaabd, votosabd;
var auxmal, notamal, votosmal;
var tmp = "";
tmp += '<div style="text-align:center;">';
tmp += '<div style="padding:10px 0 4px; color:#4682B4; font-size:13px"><strong>OTRAS PÁGINAS</strong></div>';
//tmp += '<img id="logoimdb" src="' + logoimdb + '">';
if(!isAnime){
//IMDB
tmp += '<div style="margin: 5px 15px; padding:4px 0; color:#A58500; background-color:#ffffff; font-size:18px;font-weight: bold;border:1px solid #A58500;">IMDB';
tmp += '<div>';
tmp += '<div id="cnimdb" style="padding:6px;font-size:22px;color:#136CB2;font-weight: bold;">-,-</div>';
tmp += '<div id="vtimdb" style="font-size:12px;color:#A58500;padding:1px 0px;"></div></div></div>';
//RottenTomatoes
tmp += '<div style="margin: 12px 15px; padding:4px 0; color:#627D11; background-color:#ffffff; font-size:18px;font-weight: bold;border:1px solid #627D11;">Rotten Tomatoes';
tmp += '<div>';
tmp += '<div id="notartn" style="padding:6px; color:#CF4400; font-size:22px;font-weight: bold;">-,-</div>';
tmp += '<div id="vrtn" style="font-size:12px;color:#627D11;padding:1px 0px;">NO</div></div></div>';
//Abandomoviez
/*tmp += '<div style="margin: 5px 15px 10px; padding:4px 0; color:#000000; background-color:#ffffff; font-size:16px;font-weight: bold;border:1px solid #000000;">Abandomoviez';
tmp += '<div>';
tmp += '<div id="notaabd" style="padding:6px; color:#310100; font-size:22px;font-weight: bold;">-,-</div>';
tmp += '<div id="vabd" style="font-size:12px;color:#000000;padding:1px 0px;">NO</div></div></div>';*/
}
else {
//MyAnimeList
tmp += '<div style="margin: 5px 15px 10px; padding:4px 0; color:#2e51a2; background-color:#ffffff; font-size:16px;font-weight: bold;border:1px solid #2e51a2;">MyAnimeList';
tmp += '<div>';
tmp += '<div id="notamal" style="padding:6px; color:#000000; font-size:22px;font-weight: bold;">-,-</div>';
tmp += '<div id="vmal" style="font-size:12px;color:#2e51a2;padding:1px 0px;">NO</div></div></div>';
}
tmp += '</div>';
newdiv.innerHTML = tmp;
nodop.parentNode.insertBefore(newdiv, nodop);
if(!isAnime){
doGet(urlimdb, function (response) {
var emptydiv = document.createElement('div');
emptydiv.innerHTML = response;
auximdb = '//div[contains(text(),"Valoraci")]'.findNode(emptydiv).textContent;
notaimdb = auximdb.split(" ")[2].split("/")[0];
votosimdb = auximdb.split(" ")[4].split(" ")[0];
var notabien = notaimdb.replace('.',',');
var nodnota = '//div[@id="cnimdb"]'.findNode();
var nodvotos = '//div[@id="vtimdb"]'.findNode();
if(notabien.length == 1)
nodnota.textContent = notabien + ",0";
else
nodnota.textContent = notabien;
nodvotos.textContent = votosimdb + " votos";
});
if(!isSerie){
doGet(urlrtn, function (response) {
var emptydiv = document.createElement('div');
emptydiv.innerHTML = response;
//notartn = '//span[@class="st"]'.findNode(emptydiv).textContent.split("it. Average Rating: ")[1].split('/')[0];
auxrtn = '//span[@class="st"]'.findNode(emptydiv).textContent;
var coincidencias = auxrtn.match(/it. Average Rating/g);
var nodvotos = '//div[@id="vrtn"]'.findNode();
if(coincidencias != null){
notartn = auxrtn.split("it. Average Rating: ")[1].split('/')[0];
votosrtn = auxrtn.split("User Ratings: ")[1].split("...")[0].trim();
var notabien = (parseFloat(notartn)*2).toFixed(1).replace('.',',');
var nodnota = '//div[@id="notartn"]'.findNode();
nodnota.textContent = notabien;
var votosbien = votosrtn.split(',').join('.');
nodvotos.textContent = votosbien + " votos";
}
if(nodvotos.textContent == "NO"){
doGet(urlrtn2, function (response) {
var nodvotos = '//div[@id="vrtn"]'.findNode();
var emptydiv = document.createElement('div');
emptydiv.innerHTML = response;
//notartn = '//span[@class="st"]'.findNode(emptydiv).textContent.split("it. Average Rating: ")[1].split('/')[0];
auxrtn = '//span[@class="st"]'.findNode(emptydiv).textContent;
var coincidencias = auxrtn.match(/it. Average Rating/g);
if(coincidencias != null){
notartn = auxrtn.split("it. Average Rating: ")[1].split('/')[0];
votosrtn = auxrtn.split("User Ratings: ")[1].split("...")[0].trim();
var notabien = (parseFloat(notartn)*2).toFixed(1).replace('.',',');
var nodnota = '//div[@id="notartn"]'.findNode();
nodnota.textContent = notabien;
var votosbien = votosrtn.split(',').join('.');
nodvotos.textContent = votosbien + " votos";
}});
}});
}
/*doGet(urlabd2, function (response) {
var emptydiv = document.createElement('div');
emptydiv.innerHTML = response;
//auxabd = '//em[text()="Total"]/ancestor::*[position()=1]'.findNode(emptydiv).textContent;
auxabd = '//em[text()="Total"]'.findNode(emptydiv).parentNode.textContent;
votosabd = auxabd.split("Total: ")[1].split(')')[0];
notaabd = auxabd.split("'. ")[1].split(" pts")[0];
var notabien = (parseFloat(notaabd)).toFixed(1).replace('.',',');
var nodnota = '//div[@id="notaabd"]'.findNode();
nodnota.textContent = notabien;
var nodvotos = '//div[@id="vabd"]'.findNode();
nodvotos.textContent = addMiles(votosabd) + " votos";
}); */
}
else {
doGet(urlmal, function (response) {
var emptydiv = document.createElement('div');
emptydiv.innerHTML = response;
auxmal = '//em[text()="scored"]'.findNode(emptydiv).parentNode.textContent;
votosmal = auxmal.split("scored by ")[1].split(' users)')[0];
notamal = auxmal.split("Score: ")[1].split(" (scored")[0];
var notabien = (parseFloat(notamal)).toFixed(1).replace('.',',');
var nodnota = '//div[@id="notamal"]'.findNode();
nodnota.textContent = notabien;
var nodvotos = '//div[@id="vmal"]'.findNode();
nodvotos.textContent = addMiles(votosmal) + " votos";
});
}
var disclai = '//div[@class="movie-disclaimer"]'.findNode();
disclai.style.padding = "0px 20px";
}
function addMiles(nStr)
{
nStr += '';
x = nStr.split('.');
x1 = x[0];
x2 = x.length > 1 ? '.' + x[1] : '';
var rgx = /(\d+)(\d{3})/;
while (rgx.test(x1)) {
x1 = x1.replace(rgx, '$1' + '.' + '$2');
}
return x1 + x2;
}
function doAddExtraVotes(){
var nodot = '//b[contains(text(),"Votaciones de tus Amigos")]/ancestor::*[position()=7]'.findNode();
var clon1 = nodot.cloneNode(true);
var aux = '/td[2]/table/tbody/tr'.findNode(clon1);
aux.style.backgroundColor = "#CAFF70";
//Nodo span titulo tabla
aux = '/td[2]/table/tbody/tr/td/span'.findNode(clon1);
aux.style.color="#308014";
aux.lastChild.textContent = "Votaciones de tus contactos adicionales:";
//Eliminamos los votos de amigos
var votesTable = '/td[2]/table'.findNode(clon1);
var tBody = votesTable.lastChild;
while(votesTable.rows.length > 1) {
tBody.removeChild(votesTable.rows[1]);
}
//Añadimos por defecto que nadie haya votado
var trnadie = d.createElement('tr');
var tdnadie = d.createElement('td');
tdnadie.colSpan = 3;
tdnadie.textContent = "Tus contactos adicionales no han valorado esta película.";
trnadie.appendChild(tdnadie);
tBody.appendChild(trnadie);
//Añadimos la fila vacía del final para mejorar aspecto
var trvacia = d.createElement('tr');
var tdvacia = d.createElement('td');
tdvacia.colSpan = 3;
tdvacia.textContent = "";
trvacia.appendChild(tdvacia);
tBody.appendChild(trvacia);
//Obtenemos los contactos
var friendsStr = GM_getValue(userId + '.extraFriends');
var eFriends;
if (typeof friendsStr != 'undefined') {
eFriends = eval(friendsStr);
} else {
eFriends = [];
}
eFriends.sort(function(a, b) {
return a.name.toLowerCase() > b.name.toLowerCase();
});
//Obtenemos id de la película
var nodo3 = '//a[contains(text(),"Añade tu crítica") or contains(text(),"Eliminar crítica")]'.findNode();
var aux3 = nodo3.href.split('=');
var idpeli = aux3[1];
var nota = "";
var numvista = 0;
var sumavotos = 0;
var url = 'http://cinemakb.freehostingcloud.com/src/prueba.php?pelicula=' + idpeli;
doGet(url, function (response) {
var emptydiv = document.createElement('div');
emptydiv.innerHTML = response;
var nodos = '//strong'.findNodesArray(emptydiv);
if(nodos.length > 0){
var aids = new Array(nodos.length);
var anotas = new Array(nodos.length);
for(i = 0; i < nodos.length; i++){
aids[i] = nodos[i].textContent.split('-')[0];
anotas[i] = nodos[i].textContent.split('-')[1];
}
for(ix in eFriends)
for(j = 0; j < aids.length; j++)
if(eFriends[ix].id == aids[j])
nueva_fila(eFriends[ix].id, eFriends[ix].name, anotas[j]);
}
});
function nueva_fila(numero, nombre, nota){
numvista++;
sumavotos += parseInt(nota);
var notamedia = 0.0;
//Creamos la fila con nick + compartir + nota
var newtr = d.createElement('tr');
var txtfila = "";
txtfila += '<td width="300"><a class="lnk3" href="/es/userlastratings.php?user_id=' + numero + '"><b>' + nombre + '</b></a></td>';
txtfila += '<td><span class="share-link" style="float:none"><a href="/es/sharerating/' + numero + '/' + idpeli + '.html">Compartir</a></span></td>';
txtfila += '<td width="140" align="center"><img src="http://www.filmaffinity.com/imgs/myratings/' + nota + '.gif" width="112" height="11"></td>';
newtr.innerHTML = txtfila;
//Media votaciones
var trmedia = d.createElement('tr');
trmedia.style.backgroundColor = "#eeeeee";
var tdmedia = d.createElement('td');
tdmedia.colSpan = 2;
var spanmedia = d.createElement('span');
spanmedia.style.color = "#606020";
spanmedia.textContent = "La votación media de tus contactos adicionales es ";
var bmedia = d.createElement('b');
spanmedia.appendChild(bmedia);
tdmedia.appendChild(spanmedia);
trmedia.appendChild(tdmedia);
var tdmediaimg = d.createElement('td');
tdmediaimg.align = "center";
var imgmediaimg = d.createElement('img');
imgmediaimg.src = "";
imgmediaimg.id = "pruebaimg";
tdmediaimg.appendChild(imgmediaimg);
trmedia.appendChild(tdmediaimg);
if(numvista == 2){
notamedia = (sumavotos/numvista).toFixed(1);
imgmediaimg.src = "http://www.filmaffinity.com/imgs/myratings/" + Math.round(notamedia) + ".gif";
bmedia.textContent = notamedia.replace('.',',');
votesTable.rows[0].parentNode.insertBefore(newtr, votesTable.rows[0].parentNode.lastChild );
votesTable.rows[0].parentNode.insertBefore(trmedia,votesTable.rows[0].parentNode.lastChild);
}
else if(numvista > 2){
var nspan = '//span[contains(text(),"tactos adicionales es")]'.findNode();
var nodob = nspan.lastChild;
var nimg = '//img[@id="pruebaimg"]'.findNode();
notamedia = (sumavotos/numvista).toFixed(1);
nimg.src = "http://www.filmaffinity.com/imgs/myratings/" + Math.round(notamedia) + ".gif";
nodob.textContent = notamedia.replace('.',',');
votesTable.rows[0].parentNode.insertBefore(newtr, votesTable.rows[0].parentNode.lastChild.previousSibling);
}
else {
votesTable.rows[0].parentNode.removeChild(votesTable.rows[0].parentNode.lastChild.previousSibling);
votesTable.rows[0].parentNode.insertBefore(newtr,votesTable.rows[0].parentNode.lastChild);
}
}
nodot.parentNode.appendChild(clon1);
}
function extractUserData() {
var user = url.split('user_id=')[1].split("&")[0];
var nombre = '//span[@id="nick"]'.findNode().textContent;
var valoradas = '//strong[contains(text(),"Media votos")]/../following-sibling::*'.findNode().textContent;
var criticas = '//a[contains(text(),"valoradas")]/../following-sibling::*'.findNode().textContent;
if(criticas != 0)
var listas = '//a[text()="Críticas"]/../following-sibling::*'.findNode().textContent;
else
var listas = '//dd[text()="Críticas"]/following-sibling::*'.findNode().textContent;
var ciudad = d.getElementById("loc").textContent;
var pais = ciudad.split('-')[1].trim();
ciudad = ciudad.split('-')[0].trim();
dir = ciudad + ' (' + pais + ')';
return {id:user,name:nombre,city:dir,votes:valoradas,reviews:criticas,lists:listas};
}
// Captura los datos del usuario si lo tenemos en la lista de Contactos y actualiza los datos
function doCaptureContactData() {
var user = url.split('user_id=')[1].split("#")[0];
var friendsStr = GM_getValue(userId + '.extraFriends');
// Añadimos los nuevos amigos
if (typeof friendsStr != 'undefined') {
var eFriends = eval(friendsStr);
if (inArray(eFriends, 'id', user)) {
var friend = extractUserData();
eFriends = arrayReplace(eFriends, 'id', friend);
GM_setValue(userId + '.extraFriends', eFriends.toSource());
}
}
}
function doAddCompactTopics(){
var topic = '//h1'.findNode().textContent;
var nompelis = '//div[@class="title"]/a'.findNodesArray();
var nodofin = '//a[@href="/es/abouttopics.php"]'.findNode();
for(var ix in nompelis){
var titlep2 = nompelis[ix].textContent;
//var titlep = titlep2.replace('\'','\\\'');
//var titlep = replaceAll(titlep2,'\'','\\\'');
var titlep = titlep2.replace(/'/g,"\\\'");
var aux = nompelis[ix].href;
var idpeli = aux.split('/film')[1].split('.')[0];
//aux = aux.split('/')[1];
var newa = d.createElement('div');
newa.textContent = "\nINSERT INTO Topics (topic, movietitle, movieid) VALUES ('" + topic + "','" + titlep + "'," + idpeli + ");";
nodofin.parentNode.appendChild(newa);
}}
function doAddCompactCountries(){
var users = [924191, 878650, 474985, 177697, 348700, 976346, 144434, 540308, 981629, 590705, 597200, 875263, 887714, 137856, 657063, 589644, 121592,
737874, 490208, 497388, 690687, 671651, 705164, 764150, 111084, 257981, 394088, 135983, 908337, 842869, 752302, 294230, 184588, 754665,
219396, 330506, 185714, 168031, 160297, 914125, 988909, 523226, 747725, 555951, 171552, 540682, 972101, 122658, 517374, 991334, 809610,
880103, 487742, 518698, 756330, 686717, 359606, 923024, 273407, 957487, 716868, 895600, 858723, 574888, 894359, 673828, 704789, 352669,
978268, 688414, 630795, 125994, 287229, 260922, 990342, 776261, 625526, 621667, 337507, 973245, 606658, 696516, 364238, 568017, 771651,
753770, 797457, 314140, 951662, 262690, 382637, 178257, 701552, 455908, 676524, 264127, 829861, 369212, 729641, 740465, 564844, 469105,
169666, 728433, 641330, 423357, 170541, 453676, 650024, 426745, 859508, 285350, 320483, 457524, 964605, 611087, 415953, 120344, 833515,
778888, 815985, 448184, 173945, 921495, 834784, 411060, 344015, 448370, 587109, 433484, 235274, 349357, 461147, 316001, 391357, 179758,
799711, 964016, 141531, 663655, 988980, 377949, 821782, 459581, 534286, 215932, 373527, 162878, 454691, 809373, 317215, 271052, 801029,
192337, 399803, 631652, 735650, 404719, 629405, 399540, 255737, 582394];
var nodopais = '//div[text()="País"]'.findNode();
var nodogen = '//div[text()="Género"]'.findNode();
var nodoanios = '//div[text()="Años"]'.findNode();
var nodofin = '//ul[@class="userrep-explan"]'.findNode();
var nombre = '//div[@class="user-nick-wrapper"]/h2'.findNode().textContent;
var nid = url.split('user_id=')[1];
var txt = "";
var cant = "";
var txt2 = "";
var media = "";
/*var paginas = "";
if(nid == 878650){
for(var ix in users){
//paginas += "http://www.filmaffinity.com/es/userrep.php?user_id=" + users[ix] + "\n";
var divpag = d.createElement('div');
divpag.textContent = "http://www.filmaffinity.com/es/userrep.php?user_id=" + users[ix];
nodofin.parentNode.appendChild(divpag);
}
}
*/
var newdel1 = d.createElement('div');
var newdel2 = d.createElement('div');
var newdel3 = d.createElement('div');
newdel1.textContent = "DELETE FROM Generos WHERE userid = " + nid + ";";
newdel2.textContent = "DELETE FROM Paises WHERE userid = " + nid + ";";
newdel3.textContent = "DELETE FROM Anios WHERE userid = " + nid + ";";
nodofin.parentNode.appendChild(newdel1);
nodofin.parentNode.appendChild(newdel2);
nodofin.parentNode.appendChild(newdel3);
for(var i = 3; i < nodogen.parentNode.childNodes.length; i+= 2){
txt = nodogen.parentNode.childNodes[i].textContent;
var nodosg = d.querySelectorAll('rect[title="' + txt + '"]');
cant = nodosg[0].nextSibling.nextSibling.textContent;
media = nodosg[1].nextSibling.nextSibling.textContent;
txt2 = getGenCode(txt);
var newa = d.createElement('div');
newa.textContent = "\nINSERT INTO Generos (nick, userid, gen, cant, avg) VALUES ('" + nombre + "'," + nid + ",'" + txt2 + "'," + cant + ",'" + media + "');";
nodofin.parentNode.appendChild(newa);
}
for(var i = 3; i < nodopais.parentNode.childNodes.length; i+= 2){
txt = nodopais.parentNode.childNodes[i].textContent;
var nodosp = d.querySelectorAll('rect[title="' + txt + '"]');
cant = nodosp[0].nextSibling.nextSibling.textContent;
media = nodosp[1].nextSibling.nextSibling.textContent;
txt2 = getCountryCode(txt);
var newa = d.createElement('div');
newa.textContent = "\nINSERT INTO Paises (nick, userid, pais, cant, avg) VALUES ('" + nombre + "'," + nid + ",'" + txt2 + "'," + cant + ",'" + media + "');";
nodofin.parentNode.appendChild(newa);
}
for(var i = 3; i < nodoanios.parentNode.childNodes.length; i+= 2){
txt = nodoanios.parentNode.childNodes[i].textContent;
var nodosa = d.querySelectorAll('rect[title="' + txt + '"]');
cant = nodosa[0].nextSibling.nextSibling.textContent;
media = nodosa[1].nextSibling.nextSibling.textContent;
txt2 = getAnioCode(txt);
var newa = d.createElement('div');
newa.textContent = "\nINSERT INTO Anios (nick, userid, anio, cant, avg) VALUES ('" + nombre + "'," + nid + ",'" + txt2 + "'," + cant + ",'" + media + "');";
nodofin.parentNode.appendChild(newa);
}
}
function doAddCompactVotes(){
var nodos = '//a[contains(@href,"sharerating/")]'.findNodesArray();
var notas = '//img[contains(@src,"images/myratings")]'.findNodesArray();
var anios = '//a[@class="ntext"]'.findNodesArray();
var nodofin = '//a[contains(text(),"Ir arriba")]'.findNode();
var nick = '//span[@id="nick"]'.findNode().textContent;
for(var ix in nodos){
var cad = nodos[ix].href;
usuario = cad.split('/')[5];
var pelid = cad.split('/')[6].split('.')[0];
cad = notas[ix].src;
var nota = cad.split('/')[5].split('.')[0];
var anio = anios[ix].parentNode.nextSibling.textContent.replace(/[()]/gi,"").trim();
var newa = d.createElement('div');
newa.textContent = "\nINSERT INTO Votos (movieid, nick, userid, rating, anio) VALUES (" + pelid + ",'" + nick + "'," + usuario + "," + nota + "," + anio + ");";
nodofin.parentNode.appendChild(newa);
}
}
function doAddExternalLinkLists() {
var linkTPL = "http://www.filmaffinity.com/es/userlist.php?user_id={USER}&list_id={LIST}";
var links = getElementsByClassName(d, "a", "llnk");
for (var ix = 0; ix < links.length; ix++) {
var link = links[ix];
var listID = link.href.split('=')[1];
var a = d.createElement('a');
a.id = listID;
a.href = linkTPL.replace(/{USER}/g, userId).replace(/{LIST}/g, listID);
a.innerHTML = "<img style='margin-left:5px;' src='" + link_img + "'>";
a.alt = "Enlace externo para otros usuarios";
a.title = a.alt;
link.parentNode.appendChild(a);
}
}
function doAddSearchListsOption() {
function OnSearchButtonClick() {
var nodoSelect = "//select[@name='stype']".findNode();
if (nodoSelect.value != "lists") {
// Enviamos el form de forma normal
nodoSelect.form.submit();
} else {
var texto = "//input[@name='stext']".findNode().value;
// var search = texto + ' "listas de:" site:filmaffinity.com -list_id -búsqueda -"crítica de" -"críticas de" -"votaciones de"';
// var url = "http://www.google.es/search?hl=es&q="+search;
// De momento, nos vamos a google
window.location.href = url;
//doGet(url,function (result) {
// log(result);
//})
}
}
function injectSearchListsOption() {
// Localizamos el combo de busquedas.
var nodoSelect = "//select[@name='stype']".findNode();
if (nodoSelect != null) {
// añadimos la opción listas
var option = d.createElement("option");
option.value = "lists";
option.text = "Listas";
nodoSelect.appendChild(option);
// modificamos el codigo del boton.
var boton = nodoSelect.nextSibling;
boton.type = "button";
boton.addEventListener("click", OnSearchButtonClick, true);
}
}
injectSearchListsOption();
}
function doMyDataMod() {
function doAddExtraStats() {
var countriesTable = "//div[text()='Votos por países']/following-sibling::*".findNode();
var totalCountries = countriesTable.rows.length;
var parrafo = d.createElement("p");
var imagen = d.createElement('img');
var elem_strong = document.createElement('strong');
var cont1 = d.createTextNode( " " + totalCountries);
var cont2 = d.createTextNode(" Nº países diferentes");
imagen.setAttribute('src', 'http://www.filmaffinity.com/images/arrow.gif');
parrafo.setAttribute("class","profile_activity");
parrafo.appendChild(imagen);
elem_strong.appendChild(cont1);
parrafo.appendChild(elem_strong);
parrafo.appendChild(cont2);
var divpelis = "//div[text()='Estadísticas']/following-sibling::*".findNode();
divpelis.appendChild(parrafo);
}
/*
Añade estadisticas por continente
*/
var datosContinentes = [
{nombre:"América del Norte",votos:0,media:0},
{nombre:'Europa',votos:0,media:0},
{nombre:"América del Sur",votos:0,media:0},
{nombre:'Oceanía',votos:0,media:0},
{nombre:'Asia',votos:0,media:0},
{nombre:'África',votos:0,media:0},
{nombre:'NA',votos:0,media:0}
];
function addLine2Table(table, text, value, media, cont) {
var clon = table.rows[table.rows.length - 2].cloneNode(true);
if(cont%2 == 0)
clon.className = "odd_votes";
clon.cells[0].width = "*";
clon.cells[0].textContent = text;
clon.cells[0].setAttribute('style', '');
clon.cells[1].innerHTML = "<b>" + value + "</b>";
clon.cells[2].innerHTML = "<b>" + media + "</b>";
table.rows[table.rows.length - 1].parentNode.appendChild(clon);
}
function addLine2RegionsTable(table, text, value, media, cont){
newttr = d.createElement('tr');
if(cont%2 == 0)
newttr.className = "odd_votes";
newttd1 = d.createElement('td');
newttd2 = d.createElement('td');
btd2 = d.createElement('b');
btd3 = d.createElement('b');
newttd3 = d.createElement('td');
newttd1.width = "165px";
newttd1.textContent = text;
newttd2.align = "right";
newttd2.width = "40px";
btd2.textContent = value;
newttd2.appendChild(btd2);
newttd3.align = "right";
newttd3.width = "40px";
btd3.textContent = media;
newttd3.appendChild(btd3);
newttr.appendChild(newttd1);
newttr.appendChild(newttd2);
newttr.appendChild(newttd3);
table.appendChild(newttr);
}
function addlinenewtable(table, text, value, media, contador, anchoc){
newttr = d.createElement('tr');
if(contador%2 == 0)
newttr.className = "odd_votes";
newttd1 = d.createElement('td');
newttd2 = d.createElement('td');
btd2 = d.createElement('b');
btd3 = d.createElement('b');
newttd3 = d.createElement('td');
newttd1.width = anchoc;
newttd1.textContent = text;
newttd2.align = "right";
newttd2.width = "40px";
btd2.textContent = value;
newttd2.appendChild(btd2);
newttd3.align = "right";
newttd3.width = "40px";
btd3.textContent = media;
newttd3.appendChild(btd3);
newttr.appendChild(newttd1);
newttr.appendChild(newttd2);
newttr.appendChild(newttd3);
table.appendChild(newttr);
}
function doAddContinentStats() {
var countriesTable = "//div[text()='Votos por países']/following-sibling::*".findNode();
var totalPaises = countriesTable.rows.length;
var contador = 1;
for (var i = 0; i < totalPaises; i++) {
var pais = countriesTable.rows[i].cells[0].textContent;
var votos = parseInt(countriesTable.rows[i].cells[1].textContent);
var media = parseFloat(countriesTable.rows[i].cells[2].textContent.replace(',', '.'));
var continente = getContinent(getCountryCode(pais));
var ix = inArray(datosContinentes, 'nombre', continente);
var oldVotos = datosContinentes[ix].votos;
var oldMedia = datosContinentes[ix].media;
datosContinentes[ix].votos = oldVotos + votos;
datosContinentes[ix].media = ((oldVotos * oldMedia) + (votos * media)) / (oldVotos + votos);
}
datosContinentes.sort(function(a, b) {
return (b.votos - a.votos);
});
//Creamos la tabla y ajustamos el tamaño
var continentTable = d.createElement('table');
var anchura = "160px";
if(getPreference("FLAGSINMYDATA", false))
anchura = "181px";
for(it = 0; it < totalPaises ; it++)
countriesTable.rows[it].cells[0].width = anchura;
for (ix in datosContinentes) {
if (datosContinentes[ix].votos > 0) {
contador++;
addlinenewtable(continentTable, datosContinentes[ix].nombre, datosContinentes[ix].votos, datosContinentes[ix].media.toFixed(1).replace('.', ','), contador, anchura);
}
}
var newtr = d.createElement('tr');
var divcont = d.createElement('div');
divcont.textContent = "Votos por continentes";
divcont.className = "title_profile_votes";
var divpcont = d.createElement('div');
divpcont.className = "profile_cont_votes";
divpcont.style.float = "left";
divpcont.appendChild(divcont);
divpcont.appendChild(continentTable);
newtr.appendChild(divpcont);
countriesTable.parentNode.parentNode.appendChild(newtr);
log(datosContinentes.toSource());
}
function doChangeDistribution() {
var index = this.options.selectedIndex;
var name = this.options[index].value;
// Eliminamos la tabla actual y creamos una nueva
$id("REGION_TABLE").parentNode.removeChild($id("REGION_TABLE"));
doAddRegionsStats(name, DIST_REGIONS, true);
}
/*
Inserta el combobox en la tabla, con los nombres de las distribuciones
del tipo 'type'
*/
function insertDistributionCombo(table, current, type) {
var html = " <select id='DIST_SELECT' name='DIST_SELECT' >";
for (var ix in distribuciones) {
if (distribuciones[ix].tipo == type) {
html += "<option value='" + ix + "'";
if (ix == current) html += " selected ";
html += ">" + distribuciones[ix].nombre + "</option>";
}
}
html += "</select>";
var trcombo = d.createElement('tr');
var tdcombo = d.createElement('td');
tdcombo.innerHTML = " criterio: " + html;
trcombo.appendChild(tdcombo);
table.rows[0].parentNode.parentNode.insertBefore(trcombo, table.rows[0].parentNode);
$id("DIST_SELECT").addEventListener("change", doChangeDistribution, false);
}
function doAddRegionsStats(distributionName, type, cambio) {
var datosRegiones = [];
var cont = 1;
var countriesTable = "//div[text()='Votos por países']/following-sibling::*".findNode();
var votesTable = "//div[text()='Votos por nota']/following-sibling::*".findNode();
var totalPaises = countriesTable.rows.length;
for (var i = 0; i < totalPaises; i++) {
var pais = countriesTable.rows[i].cells[0].textContent;
var votos = parseInt(countriesTable.rows[i].cells[1].textContent);
var media = parseFloat(countriesTable.rows[i].cells[2].textContent.replace(',', '.'));
var region = getRegion(distributionName, getCountryCode(pais));
var ix = inArray(datosRegiones, 'nombre', region);
if (!ix) {
var dato = {nombre:region,votos:0,media:0};
datosRegiones.push(dato);
ix = inArray(datosRegiones, 'nombre', region);
}
var oldVotos = datosRegiones[ix].votos;
var oldMedia = datosRegiones[ix].media;
datosRegiones[ix].votos = oldVotos + votos;
datosRegiones[ix].media = ((oldVotos * oldMedia) + (votos * media)) / (oldVotos + votos);
}
datosRegiones.sort(function(a, b) {
return (b.votos - a.votos);
});
/*
Clonamos la tabla de los paises y metemos los datos
*/
var regionTable = countriesTable.cloneNode(true);
for (ix in datosRegiones) {
if (datosRegiones[ix].votos > 0) {
cont++;
addLine2RegionsTable(regionTable, datosRegiones[ix].nombre, datosRegiones[ix].votos, datosRegiones[ix].media.toFixed(1).replace('.', ','), cont);
// addLine2Table(regionTable, datosRegiones[ix].nombre, datosRegiones[ix].votos, datosRegiones[ix].media.toFixed(1).replace('.', ','), cont);
}
}
for (var n = 0; n < totalPaises; n++) {
regionTable.rows[0].parentNode.removeChild(regionTable.rows[0]);
}
//regionTable.rows[0].cells[0].firstChild.firstChild.textContent = "Mis votos por país agrupados según";
regionTable.id = "REGION_TABLE";
if(cambio){
var nodoborrar = "//div[text()='Votos por regiones']/ancestor::*[position()=1]".findNode();
nodoborrar.parentNode.removeChild(nodoborrar);
}
var newtr = d.createElement('tr');
divregion = d.createElement('div');
divregion.className = "title_profile_votes";
divregion.textContent = "Votos por regiones";
divpregion = d.createElement('div');
divpregion.className = "profile_cont_votes";
divpregion.appendChild(divregion);
divpregion.appendChild(regionTable);
newtr.appendChild(divpregion);
votesTable.parentNode.parentNode.appendChild(newtr);
insertDistributionCombo(regionTable, distributionName, type);
}
/*
* Modifica la apariencia de la tabla Mis Votos por Valor en Mis Datos
*/
function doAlterMyVotes() {
var votesTable = "//div[text()='Votos por nota']/following-sibling::*".findNode();
const ANCHO_MAXIMO = 153;
var imgTpl = '<img height="14" width="{WIDTH}" border="0" align="top" src="/images/bars/bar1.gif"/><span style="font-size:80%;"> {PCT}%</span>';
//var imgTpl = '<img height="14" width="{WIDTH}" border="0" align="top" src="http://cinemakb.freehostingcloud.com/src/bar1.gif"/><span style="font-size:80%;"> {PCT}%</span>';
var votosTotal = "//img[@src='/images/arrow.gif']/following-sibling::*".findNode().textContent;
var maxVotos = 0;
var n;
var votos;
for (n = 1; n < votesTable.rows.length; n++) {
votos = parseInt(votesTable.rows[n].cells[2].textContent);
if (votos > maxVotos) {
maxVotos = votos;
}
}
for (n = 0; n < votesTable.rows.length; n++) {
var row = votesTable.rows[n];
row.cells[0].innerHTML = "<b>" + (10 - n) + "</b> ";
row.cells[0].title = row.cells[1].textContent;
row.cells[1].title = row.cells[1].textContent;
row.cells[2].title = row.cells[1].textContent;
row.cells[0].align = "left";
row.cells[1].align = "left";
row.cells[0].width = "20";
votos = parseInt(row.cells[2].textContent);
var pct = (100 * votos) / votosTotal;
var width = (ANCHO_MAXIMO * votos) / maxVotos;
row.cells[1].innerHTML = imgTpl.replace(/{WIDTH}/g, width).replace(/{PCT}/g, pct.toFixed(2));
}
}
//Preparar la tabla para los distintos datos
function prepareMyDataTables() {
var countriesTable = "//div[text()='Votos por países']/ancestor::*[position()=1]".findNode();
var votesTable = "//div[text()='Votos por nota']/ancestor::*[position()=1]".findNode();
var genTable = "//div[text()='Votos por género']/ancestor::*[position()=1]".findNode();
//Clonamos las 3 tablas
var clonVotes = votesTable.cloneNode(true);
var clonGen = genTable.cloneNode(true);
var clonPaises = countriesTable.cloneNode(true);
//Borramos las 3 en la página para meterlas en una tabla
votesTable.parentNode.removeChild(votesTable);
genTable.parentNode.removeChild(genTable);
countriesTable.parentNode.removeChild(countriesTable);
var todo = "//div[text()='Estadísticas']/ancestor::*[position()=1]".findNode();
var tablaextra = d.createElement('table');
tablaextra.width = "100%";
tablaextra.border = "0";
var tr1 = d.createElement('tr');
var td1 = d.createElement('td');
var td2 = d.createElement('td');
var td3 = d.createElement('td');
td1.width = "280px";
td1.appendChild(clonVotes);
td1.style.verticalAlign = "top";
td2.width = "230px";
td2.appendChild(clonGen);
td2.style.verticalAlign = "top";
td3.appendChild(clonPaises);
td3.style.verticalAlign = "top";
tr1.appendChild(td1);
tr1.appendChild(td2);
tr1.appendChild(td3);
tablaextra.appendChild(tr1);
todo.appendChild(tablaextra);
}
/*
Indices sobre nuestras votaciones
ver http://filmaffinity.mforos.com/1360515/7122665-indices-indicadores-e-indicios/
*/
function doAddDataIndexes() {
var countriesTable = "//div[text()='Votos por países']/following-sibling::*".findNode();
var genTable = "//div[text()='Votos por género']/following-sibling::*".findNode();
var votesTable = "//div[text()='Votos por nota']/following-sibling::*".findNode();
statsTable = d.createElement('table');
divindices = d.createElement('div');
divpindices = d.createElement('div');
divindices.className = "title_profile_votes";
divindices.textContent = "Índices";
divpindices.className = "profile_cont_votes";
divpindices.appendChild(divindices);
divpindices.appendChild(statsTable);
contindices = 0;
function getIndiceRareza() {
/*
Si, ya se que esta duplicada esta función, quizas haga algo con ello algún dia
*/
function getSavedSoulMatesLists() {
var ssml = eval(GM_getValue(userId + ".ssml"));
if (typeof ssml == "undefined") {
ssml = new Object();
ssml.items = new Array();
ssml.last = 0;
}
return ssml;
}
// Obtenemos las ultimas almas gemelas
var ssml = getSavedSoulMatesLists();
if (ssml.last > 0) {
var lista = eval(GM_getValue(userId + ".sml." + ssml.last));
// Si son 20, devolvemos el indice de la ultima
if (lista.length < 20) {
return 20 - lista.length;
} else {
return (100 / lista.sm[20].affinity).toFixed(2);
}
// Si son menos, 20-nº almas gemelas.
} else {
return 0;
}
}
function addIndexHeader(delta) {
GM_addStyle('a.bindexeslink {color:white;cursor:pointer;font-size:80%;text-decoration:none;} !important');
GM_addStyle('a.bindexeslink:visited {color:white;cursor:pointer;font-size:80%;text-decoration:none;} !important');
var clon = statsTable.rows[0].cloneNode(true);
clon.cells[0].firstChild.firstChild.innerHTML = "Índices <a class='bindexeslink' href='http://filmaffinity.mforos.com/1360515/7122665-indices-indicadores-e-indicios/'>(Detalles)</a>";
statsTable.rows[statsTable.rows.length - 2].parentNode.insertBefore(clon, statsTable.rows[statsTable.rows.length - delta]);
}
function addToStatsTable(text, value, hint) {
//var clon = statsTable.rows[statsTable.rows.length - 2].cloneNode(true);
contindices++;
var newtr = d.createElement('tr');
if(contindices%2 == 0)
newtr.className = "odd_votes";
var tdtxt = d.createElement('td');
var tdval = d.createElement('td');
var bval = d.createElement('b');
tdtxt.textContent = text;
tdtxt.title = hint;
bval.textContent = value;
tdval.appendChild(bval);
/* clon.cells[0].textContent = text;
clon.cells[1].innerHTML = "<b>" + value + "</b>";
clon.cells[0].title = hint;
statsTable.rows[statsTable.rows.length - 2].parentNode.insertBefore(clon, statsTable.rows[statsTable.rows.length - 1]);*/
newtr.appendChild(tdtxt);
newtr.appendChild(tdval);
statsTable.appendChild(newtr);
}
var bPais = "//img[contains(@src,'imgs/countries')]".findNode();
var miPais = bPais.title;
var rowEEUU = "//td[text()='Estados Unidos']/..".findNode(countriesTable);
var vistasEEUU = 0;
var mediaEEUU = 0;
if (rowEEUU != null) {
vistasEEUU = rowEEUU.cells[1].textContent;
mediaEEUU = parseFloat(rowEEUU.cells[2].textContent.replace(',', '.'));
}
var rowPais = "//td[text()='{PAIS}']/..".replace(/{PAIS}/g, miPais).findNode(countriesTable);
var mediaPais = 0;
var vistasPais = 0;
if (rowPais != null) {
mediaPais = parseFloat(rowPais.cells[2].textContent.replace(',', '.'));
vistasPais = rowPais.cells[1].textContent;
}
var rowDocumentales = "//td[text()='Documental']/..".findNode(genTable);
var vistosDocumentales = 0;
var mediaDocumentales = 0;
if (rowDocumentales != null) {
vistosDocumentales = rowDocumentales.cells[1].textContent;
mediaDocumentales = parseFloat(rowDocumentales.cells[2].textContent.replace(',', '.'));
}
// Obtenemos las variables basicas
var totalPaises = countriesTable.rows.length;
var vistasTotal = "//img[@src='/images/arrow.gif']/following-sibling::*".findNode().textContent;
var mediaux = "//div[@id='ignore_film']/following-sibling::*/strong".findNode().textContent;
var mediaTotal = parseFloat(mediaux.replace(',', '.'));
var vistasCastellano = 0;
var paisesUnaPelicula = 0;
var paisesUnaPeliculaVoto8910 = 0;
var paisesCastellano = 0;
var paisesPromedioMayorEEUU = 0;
var paisesPromedioMenorEEUU = 0;
// Recorremos la tabla de paises para obtener el resto de
// datos
for (var i = 0; i < totalPaises; i++) {
var pais = countriesTable.rows[i].cells[0].textContent;
var peliculas = parseInt(countriesTable.rows[i].cells[1].textContent);
var media = parseFloat(countriesTable.rows[i].cells[2].textContent.replace(',', '.'));
if (typeof countriesSpanish[pais] != "undefined") {
vistasCastellano += peliculas;
paisesCastellano++;
}
if (peliculas == 1) {
paisesUnaPelicula++;
if (media >= 8) {
paisesUnaPeliculaVoto8910++;
}
}
if (peliculas > 1) {
if (media > mediaEEUU) {
paisesPromedioMayorEEUU++;
} else if (media < mediaEEUU) {
paisesPromedioMenorEEUU++;
}
}
}
/*
Calculamos los indices
*/
if (vistasTotal > 0) {
var IUI = (100 * vistasCastellano) / vistasTotal;
var IAO = (100 * (vistasCastellano - vistasPais)) / vistasTotal;
var IB = (100 * vistasEEUU) / vistasTotal;
}
if (totalPaises > 0) {
var IBI = (100 * paisesUnaPelicula) / totalPaises;
}
var II = paisesUnaPeliculaVoto8910;
var IAA = 10 * (mediaPais - mediaTotal);
var IDC = paisesCastellano;
var IPCH = 0;
if (paisesPromedioMayorEEUU > 0) {
IPCH = paisesPromedioMenorEEUU / paisesPromedioMayorEEUU;
}
var IBD = 0;
if (vistosDocumentales > 0) {
IBD = (100 * vistosDocumentales) / vistasTotal;
}
addToStatsTable("General: ", IB.toFixed(2) + "%", "Numero de películas de EE.UU. en relación al número de películas vistas.");
addToStatsTable("Búsqueda infructuosa: ", IBI.toFixed(2) + "%", "Número de países con una sola película votada en relación al total de países votados.");
addToStatsTable("Ingratitud: ", II, "Número de países con una sola película pero con 8, 9 ó 10 de votación.");
addToStatsTable("Autoaceptación: ", IAA.toFixed(2), "Diez veces la diferencia entre la votación promedio de tu propio país y tu votación promedio.");
addToStatsTable("Uso del idioma: ", IUI.toFixed(2) + "%", "Número de películas en castellano, en relación al número de películas votadas.");
addToStatsTable("Aceptación del otro: ", IAO.toFixed(2) + "%", "Número de películas en castellano, sin contar las de tu país en relación al número de películas votadas.");
addToStatsTable("Difusión: ", IDC, "Número de países votados de habla castellana.");
//addToStatsTable("Rareza: ", getIndiceRareza(), "Inverso del grado de afinidad de tu última Alma Gemela.");
addToStatsTable("Percepción de la Calidad de Hollywood: ", IPCH.toFixed(2), "Número de países con votación promedio menor que la de EE.UU. en relación a los países con votación promedio mayor a la de EE.UU. Excluyendo los países con una sola película votada.");
addToStatsTable("Bien Documentado:", IBD.toFixed(2) + "%", "Porcentaje de documentales que has votado sobre el total votado.");
//addIndexHeader(11);
// Como ahora duplicamos la tabla, borramos los restos de la tabla anterior
/*for (var n = 0; n < 6; n++) {
statsTable.rows[0].parentNode.removeChild(statsTable.rows[0]);
}
// y la ultima fila
statsTable.rows[0].parentNode.removeChild(statsTable.rows[statsTable.rows.length - 1]);*/
var newtr = d.createElement('tr');
newtr.appendChild(divpindices);
votesTable.parentNode.parentNode.appendChild(newtr);
}
function addLine2YearTable(table, text, votos, media, cont){
newttr = d.createElement('tr');
if(cont%2 == 0)
newttr.className = "odd_votes";
else
newttr.style.backgroundColor = "#ffffff";
newttd1 = d.createElement('td');
newttd2 = d.createElement('td');
newttd3 = d.createElement('td');
btd1 = d.createElement('b');
btd2 = d.createElement('b');
btd3 = d.createElement('b');
newttd1.width = "122px";
newttd1.align = "center";
newttd1.style.color = "blue";
btd1.textContent = text;
newttd1.appendChild(btd1);
newttd2.align = "right";
newttd2.width = "40px";
btd2.textContent = votos;
newttd2.appendChild(btd2);
newttd3.align = "right";
newttd3.width = "40px";
btd3.textContent = media;
newttd3.appendChild(btd3);
newttr.appendChild(newttd1);
newttr.appendChild(newttd2);
newttr.appendChild(newttd3);
table.appendChild(newttr);
}
function doAddVotesYear() {
var url = "http://www.filmaffinity.com/es/userrep.php?user_id=" + userId;
var cont = 1;
doGet(url, function(response) {
// Procesamos los datos
var genTable = "//div[text()='Votos por género']/following-sibling::*".findNode();
var yearTable = d.createElement('table');
var emptydiv = document.createElement('div');
emptydiv.innerHTML = response;
var statsYearTable = "//caption[contains(text(),'Votaciones por a')]/..".findNode(emptydiv);
if (statsYearTable != null) {
for (var n = 1; n < statsYearTable.rows.length; n++) {
cont++;
var year = statsYearTable.rows[n].cells[1].textContent;
var votes = statsYearTable.rows[n].cells[0].textContent;
var mean = statsYearTable.rows[n].cells[2].textContent;
addLine2YearTable(yearTable, year, votes, mean, cont);
}
/*for (n = 0; n < countriesTable.rows.length; n++) {
yearTable.rows[0].parentNode.removeChild(yearTable.rows[0]);
}
*/
divanios = d.createElement('div');
divpanios = d.createElement('div');
divanios.className = "title_profile_votes";
divanios.textContent = "Votos por año";
divpanios.className = "profile_cont_votes";
divpanios.appendChild(divanios);
divpanios.appendChild(yearTable);
var newtr = d.createElement('tr');
newtr.appendChild(divpanios);
genTable.parentNode.parentNode.appendChild(newtr);
}
});
}
function doAlterMyGens(){
var media = 0.0;
var mauz = 0.0;
var genTable = "//div[text()='Votos por género']/following-sibling::*".findNode();
var vistasTotal = "//img[@src='/images/arrow.gif']/following-sibling::*".findNode().textContent;
for(i = 0; i < genTable.rows.length ; i++){
var m = genTable.rows[i].insertCell(-1);
m.align = "right";
m.width = "50px";
mauz = genTable.rows[i].cells[1].textContent;
media = (parseFloat(mauz)/vistasTotal)*100;
media = media.toFixed(2);
//m.innerHTML = '<b>' + media + "%" + '</b>';
m.innerHTML = media + "%";
}
}
/*function doAddTopicStats(){
var nodoadd = '//span[contains(text(),"Redes sociales")]/ancestor::*[position()=1]'.findNode();
var ndivclas = d.createElement('div');
ndivclas.className = "title_profile";
ndivclas.textContent = "Topics";
var ntopicclas = d.createElement('table');
ntopicclas.style.width = "100%";
var txt = "";
txt += '<tbody><tr>';
txt += '<td style="vertical-align:top;" width="270px"><div class="profile_cont_votes" width="260px">';
txt += '<div class="title_profile_votes">A-H</div>';
txt += '<table id="TOPICSAH"><tbody>';
txt += '<td width="180" align="left">Animación para adultos</td>';
txt += '<td align="right" width="40"><b>12</b></td>';
txt += '<td align="right" width="40"><b>5,7</b></td>';
txt += '</table></div></td>';
txt += '<td style="vertical-align:top;" width="270px"><div class="profile_cont_votes" width="260px">';
txt += '<div class="title_profile_votes">I-N</div>';
txt += '<table id="TOPICSI-N"><tbody>';
txt += '<td align="center"><b><font color="#CDAD00">3-D</font></b></td>';
txt += '<td align="center"><b><font color="#CDAD00">12</font></b></td>';
txt += '<td align="center"><b><font color="#CDAD00">5,7</font></b></td>';
txt += '</table></div></td>';
txt += '<td style="vertical-align:top;" width="270px"><div class="profile_cont_votes" width="260px">';
txt += '<div class="title_profile_votes">O-Z</div>';
txt += '<table id="TOPICSOZ"><tbody>';
txt += '<td align="center"><b><font color="#CDAD00">3-D</font></b></td>';
txt += '<td align="center"><b><font color="#CDAD00">12</font></b></td>';
txt += '<td align="center"><b><font color="#CDAD00">5,7</font></b></td>';
txt += '</table></div></td></tr>';
ntopicclas.innerHTML = txt;
nodoadd.parentNode.appendChild(ndivclas);
nodoadd.parentNode.appendChild(ntopicclas);
}
*/
doAddExtraStats();
prepareMyDataTables();
doAlterMyVotes();
if (getPreference("SHOWMFINDEXES", true)) doAddDataIndexes();
doAddContinentStats();
if (getPreference("COUNTRYDISTS", false)) doAddRegionsStats("Lingüístico", DIST_REGIONS, false);
if (getPreference("SHOWYEARDATA", false)) doAddVotesYear();
doAlterMyGens();
//doAddTopicStats();
}
//Función que añade a Mis Datos distintas clasificaciones
function doAddClasif(){
function doClasPais(){
function injectFilesGeneral(codigo, clas){
var order = 6;
var url = 'http://www.neokben.host-ed.me/fa/src/';
if(clas == "paises"){
url += 'paises.php?cpais=';
var nodot = '//table[@id="CLAS_PAISES"]'.findNode();
order = 6;
}
else if(clas == "generos"){
url += 'generos.php?cgenre=';
var nodot = '//table[@id="CLAS_GENEROS"]'.findNode();
order = 8;
}
else if(clas == "anios"){
url += 'anios.php?canio=';
var nodot = '//table[@id="CLAS_ANIOS"]'.findNode();
order = 1;
}
url += codigo;
var nodoid = '//a[contains(text(),"ticas favoritas")]'.findNode();
var idprop = getUserId();
var tbody = nodot.lastChild;
var name = "";
var nusuarios = parseInt(getPreference('nusers'));
if(nusuarios < 10 || nusuarios > 150)
nusuarios = 20;
//Primero limpiamos la tabla
while(nodot.rows.length > 1) {
tbody.removeChild(nodot.rows[1]);
}
//Luego añadimos los nuevos datos
doGet(url, function (response) {
var emptydiv = document.createElement('div');
emptydiv.innerHTML = response;
var nodos = '//strong'.findNodesArray(emptydiv);
if(nodos.length > 0){
for(i = 0; i < nodos.length && i < nusuarios; i++){
name = nodos[i].textContent.split('-')[0];
if(name.indexOf("h e r m a n") != -1)
name = "hermanônegrö";
if(name.indexOf("latra") != -1)
name = "ególatra";
if(name.indexOf("Fili") != -1)
name = "Filiûs de Fructüs";
if(name.indexOf("Atticus") != -1)
name = "Atticus Fiúncho";
if(name.indexOf("dovicum") != -1)
name = "Luis (Ludovicum)";
if(name.indexOf("Iv") == 0)
name = "Iván";
if(name.indexOf("es Martes") != -1)
name = "Sonríe es Martes";
if(name.indexOf("ManuFdez") != -1)
name = "ManuFdezReinón";
if(name.indexOf("Atrapa") != -1)
name = "Atrapasueños";
var newtr = d.createElement('tr');
if(i%2 == 0)
newtr.className = "odd_votes";
var txtfila = "";
if(i == 0){
txtfila += '<td align="center"><b><font color="#CDAD00">' + (i+1) + '</font></b></td>';
txtfila += '<td width="140px">';
txtfila += '<a href="http://www.filmaffinity.com/es/userratings.php?user_id=' + nodos[i].textContent.split('-')[1] + '&orderby=' + order + '"';
txtfila += 'target="_blank" style="text-decoration: none; color:inherit">';
txtfila += '<b><font color="#CDAD00">' + name + '</font></b></a></td>';
txtfila += '<td align="right" width="35px"><b><font color="#CDAD00">' + nodos[i].textContent.split('-')[2] + '</font></b></td>';
txtfila += '<td align="right" width="35px"><b><font color="#CDAD00">' + nodos[i].textContent.split('-')[3] + '</font></b></td>';
}
else if(i ==1){
txtfila += '<td align="center"><b><font color="#B7B7B7">' + (i+1) + '</font></b></td>';
txtfila += '<td width="140px">';
txtfila += '<a href="http://www.filmaffinity.com/es/userratings.php?user_id=' + nodos[i].textContent.split('-')[1] + '&orderby=' + order + '"';
txtfila += 'target="_blank" style="text-decoration: none; color:inherit">';
txtfila += '<b><font color="#B7B7B7">' + name + '</font></b></a></td>';
txtfila += '<td align="right" width="35px"><b><font color="#B7B7B7">' + nodos[i].textContent.split('-')[2] + '</font></b></td>';
txtfila += '<td align="right" width="35px"><b><font color="#B7B7B7">' + nodos[i].textContent.split('-')[3] + '</font></b></td>';}
else if(i ==2){
txtfila += '<td align="center"><b><font color="#B87333">' + (i+1) + '</font></b></td>';
txtfila += '<td width="140px">';
txtfila += '<a href="http://www.filmaffinity.com/es/userratings.php?user_id=' + nodos[i].textContent.split('-')[1] + '&orderby=' + order + '"';
txtfila += 'target="_blank" style="text-decoration: none; color:inherit">';
txtfila += '<b><font color="#B87333">' + name + '</b></font></a></td>';
txtfila += '<td align="right" width="35px"><b><font color="#B87333">' + nodos[i].textContent.split('-')[2] + '</font></b></td>';
txtfila += '<td align="right" width="35px"><b><font color="#B87333">' + nodos[i].textContent.split('-')[3] + '</font></b></td>';}
else {
if(idprop == nodos[i].textContent.split('-')[1]){
txtfila += '<td align="center"><b><font color="blue">' + (i+1) + '</font></b></td>';
txtfila += '<td width="140px">';
txtfila += '<a href="http://www.filmaffinity.com/es/userratings.php?user_id=' + nodos[i].textContent.split('-')[1] + '&orderby=' + order + '"';
txtfila += 'target="_blank" style="text-decoration: none; color:inherit"><b><font color="blue">';
txtfila += name + '</font></b></a></td>';
txtfila += '<td align="right" width="35px"><b><font color="blue">' + nodos[i].textContent.split('-')[2] + '</font></b></td>';
txtfila += '<td align="right" width="35px"><b><font color="blue">' + nodos[i].textContent.split('-')[3] + '</font></b></td>';
}
else {
txtfila += '<td align="center"><b>' + (i+1) + '</b></td>';
txtfila += '<td width="140px">';
txtfila += '<a href="http://www.filmaffinity.com/es/userratings.php?user_id=' + nodos[i].textContent.split('-')[1] + '&orderby=' + order + '"';
txtfila += 'target="_blank" style="text-decoration: none; color:inherit">';
txtfila += name + '</a></td>';
txtfila += '<td align="right" width="35px"><b>' + nodos[i].textContent.split('-')[2] + '</b></td>';
txtfila += '<td align="right" width="35px"><b>' + nodos[i].textContent.split('-')[3] + '</b></td>';
}
}
newtr.innerHTML = txtfila;
nodot.rows[0].parentNode.appendChild(newtr);
}
}
});
}
function doChangeGen() {
var index = this.options.selectedIndex;
var name = this.options[index].value;
injectFilesGeneral(name,'generos');
}
function doChangeAnio() {
var index = this.options.selectedIndex;
var name = this.options[index].value;
injectFilesGeneral(name,'anios');
}
function doChangePais() {
var index = this.options.selectedIndex;
var name = this.options[index].value;
this.setAttribute('style', 'padding-left: 19px; background: white url("http://www.filmaffinity.com/imgs/countries/' + this.options[this.selectedIndex].value + '.jpg") no-repeat scroll center left');
injectFilesGeneral(name,'paises');
// Eliminamos la tabla actual y creamos una nueva
/*$id("REGION_TABLE").parentNode.removeChild($id("REGION_TABLE"));
doAddRegionsStats(name, DIST_REGIONS, true);*/
}
var nodoadd = '//span[contains(text(),"Redes sociales")]/ancestor::*[position()=1]'.findNode();
var ndivclas = d.createElement('div');
ndivclas.className = "title_profile";
ndivclas.textContent = "Clasificaciones";
var ntableclas = d.createElement('table');
ntableclas.style.width = "100%";
var txt = "";
txt += '<tbody><tr>';
txt += '<td style="vertical-align:top;" width="270px"><div class="profile_cont_votes" width="260px">';
txt += '<div class="title_profile_votes">Por países</div>';
txt += '<table id="CLAS_PAISES"><tbody>';
txt += '<tr><td width="20px"><b>País:</b></td>';
txt += '<td colspan="3"><select style="padding-left: 19px; background-image: url(http://www.filmaffinity.com/imgs/countries/ES.jpg) no-repeat scroll center left white;" id="PAIS_SELECT" name="PAIS_SELECT">';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/AF.jpg) no-repeat scroll center left white;" value="AF">Afganistán</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/DE.jpg) no-repeat scroll center left white;" value="DE">Alemania</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/FD.jpg) no-repeat scroll center left white;" value="FD">Alemania del Este (RDA)</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/FF.jpg) no-repeat scroll center left white;" value="FF">Alemania del Oeste (RFA)</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/AD.jpg) no-repeat scroll center left white;" value="AD">Andorra</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/AO.jpg) no-repeat scroll center left white;" value="AO">Angola</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/AG.jpg) no-repeat scroll center left white;" value="AG">Antigua y Barbuda</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/SA.jpg) no-repeat scroll center left white;" value="SA">Arabia Saudí</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/DZ.jpg) no-repeat scroll center left white;" value="DZ">Argelia</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/AR.jpg) no-repeat scroll center left white;" value="AR">Argentina</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/AM.jpg) no-repeat scroll center left white;" value="AM">Armenia</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/AU.jpg) no-repeat scroll center left white;" value="AU">Australia</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/AT.jpg) no-repeat scroll center left white;" value="AT">Austria</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/AZ.jpg) no-repeat scroll center left white;" value="AZ">Azerbaijan</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/BS.jpg) no-repeat scroll center left white;" value="BS">Bahamas</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/BH.jpg) no-repeat scroll center left white;" value="BH">Bahrein</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/BD.jpg) no-repeat scroll center left white;" value="BD">Bangladesh</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/BB.jpg) no-repeat scroll center left white;" value="BB">Barbados</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/BE.jpg) no-repeat scroll center left white;" value="BE">Bélgica</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/BZ.jpg) no-repeat scroll center left white;" value="BZ">Belize</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/BJ.jpg) no-repeat scroll center left white;" value="BJ">Benín</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/BY.jpg) no-repeat scroll center left white;" value="BY">Bielorusia</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/BO.jpg) no-repeat scroll center left white;" value="BO">Bolivia</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/BA.jpg) no-repeat scroll center left white;" value="BA">Bosnia y Herzegovina</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/BW.jpg) no-repeat scroll center left white;" value="BW">Botswana</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/BR.jpg) no-repeat scroll center left white;" value="BR">Brasil</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/BG.jpg) no-repeat scroll center left white;" value="BG">Bulgaria</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/BF.jpg) no-repeat scroll center left white;" value="BF">Burkina Faso</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/BI.jpg) no-repeat scroll center left white;" value="BI">Burundi</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/BT.jpg) no-repeat scroll center left white;" value="BT">Bután</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/CV.jpg) no-repeat scroll center left white;" value="CV">Cabo Verde</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/KH.jpg) no-repeat scroll center left white;" value="KH">Camboya</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/CM.jpg) no-repeat scroll center left white;" value="CM">Camerún</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/CA.jpg) no-repeat scroll center left white;" value="CA">Canadá</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/TD.jpg) no-repeat scroll center left white;" value="TD">Chad</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/ZX.jpg) no-repeat scroll center left white;" value="ZX">Checoslovaquia</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/CL.jpg) no-repeat scroll center left white;" value="CL">Chile</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/CN.jpg) no-repeat scroll center left white;" value="CN">China</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/CY.jpg) no-repeat scroll center left white;" value="CY">Chipre</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/CO.jpg) no-repeat scroll center left white;" value="CO">Colombia</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/KM.jpg) no-repeat scroll center left white;" value="KM">Comores</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/CG.jpg) no-repeat scroll center left white;" value="CG">Congo</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/KP.jpg) no-repeat scroll center left white;" value="KP">Corea del Norte</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/KR.jpg) no-repeat scroll center left white;" value="KR">Corea del Sur</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/CI.jpg) no-repeat scroll center left white;" value="CI">Costa de Marfil</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/CR.jpg) no-repeat scroll center left white;" value="CR">Costa Rica</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/HR.jpg) no-repeat scroll center left white;" value="HR">Croacia</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/CU.jpg) no-repeat scroll center left white;" value="CU">Cuba</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/DK.jpg) no-repeat scroll center left white;" value="DK">Dinamarca</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/DM.jpg) no-repeat scroll center left white;" value="DM">Dominica</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/EC.jpg) no-repeat scroll center left white;" value="EC">Ecuador</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/EG.jpg) no-repeat scroll center left white;" value="EG">Egipto</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/SV.jpg) no-repeat scroll center left white;" value="SV">El Salvador</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/AE.jpg) no-repeat scroll center left white;" value="AE">Emiratos Árabes</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/ER.jpg) no-repeat scroll center left white;" value="ER">Eritrea</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/SK.jpg) no-repeat scroll center left white;" value="SK">Eslovaquia</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/SI.jpg) no-repeat scroll center left white;" value="SI">Eslovenia</option>';
txt += '<option selected style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/ES.jpg) no-repeat scroll center left white;" value="ES">España</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/US.jpg) no-repeat scroll center left white;" value="US">Estados Unidos</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/EE.jpg) no-repeat scroll center left white;" value="EE">Estonia</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/ET.jpg) no-repeat scroll center left white;" value="ET">Etiopía</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/FJ.jpg) no-repeat scroll center left white;" value="FJ">Fidji</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/PH.jpg) no-repeat scroll center left white;" value="PH">Filipinas</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/FI.jpg) no-repeat scroll center left white;" value="FI">Finlandia</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/FR.jpg) no-repeat scroll center left white;" value="FR">Francia</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/GA.jpg) no-repeat scroll center left white;" value="GA">Gabón</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/GM.jpg) no-repeat scroll center left white;" value="GM">Gambia</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/GE.jpg) no-repeat scroll center left white;" value="GE">Georgia</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/GR.jpg) no-repeat scroll center left white;" value="GR">Grecia</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/GL.jpg) no-repeat scroll center left white;" value="GL">Groenlandia</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/GT.jpg) no-repeat scroll center left white;" value="GT">Guatemala</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/GN.jpg) no-repeat scroll center left white;" value="GN">Guinea</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/GW.jpg) no-repeat scroll center left white;" value="GW">Guinea Bissau</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/GQ.jpg) no-repeat scroll center left white;" value="GQ">Guinea Ecuatorial</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/GY.jpg) no-repeat scroll center left white;" value="GY">Guyana</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/HT.jpg) no-repeat scroll center left white;" value="HT">Haití</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/NL.jpg) no-repeat scroll center left white;" value="NL">Holanda</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/HN.jpg) no-repeat scroll center left white;" value="HN">Honduras</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/HK.jpg) no-repeat scroll center left white;" value="HK">Hong Kong</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/HU.jpg) no-repeat scroll center left white;" value="HU">Hungría</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/IN.jpg) no-repeat scroll center left white;" value="IN">India</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/ID.jpg) no-repeat scroll center left white;" value="ID">Indonesia</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/IQ.jpg) no-repeat scroll center left white;" value="IQ">Irak</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/IR.jpg) no-repeat scroll center left white;" value="IR">Irán</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/IE.jpg) no-repeat scroll center left white;" value="IE">Irlanda</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/IS.jpg) no-repeat scroll center left white;" value="IS">Islandia</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/IL.jpg) no-repeat scroll center left white;" value="IL">Israel</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/IT.jpg) no-repeat scroll center left white;" value="IT">Italia</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/JM.jpg) no-repeat scroll center left white;" value="JM">Jamaica</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/JP.jpg) no-repeat scroll center left white;" value="JP">Japón</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/JO.jpg) no-repeat scroll center left white;" value="JO">Jordania</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/KZ.jpg) no-repeat scroll center left white;" value="KZ">Kazajstán</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/KE.jpg) no-repeat scroll center left white;" value="KE">Kenia</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/KG.jpg) no-repeat scroll center left white;" value="KG">Kirguizstán</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/KW.jpg) no-repeat scroll center left white;" value="KW">Kuwait</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/LA.jpg) no-repeat scroll center left white;" value="LA">Laos</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/LS.jpg) no-repeat scroll center left white;" value="LS">Lesotho</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/LE.jpg) no-repeat scroll center left white;" value="LE">Letonia</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/LB.jpg) no-repeat scroll center left white;" value="LB">Líbano</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/LR.jpg) no-repeat scroll center left white;" value="LR">Liberia</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/LY.jpg) no-repeat scroll center left white;" value="LY">Libia</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/LI.jpg) no-repeat scroll center left white;" value="LI">Liechtenstein</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/LT.jpg) no-repeat scroll center left white;" value="LT">Lituania</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/LU.jpg) no-repeat scroll center left white;" value="LU">Luxemburgo</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/MK.jpg) no-repeat scroll center left white;" value="MK">Macedonia</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/MG.jpg) no-repeat scroll center left white;" value="MG">Madagascar</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/MY.jpg) no-repeat scroll center left white;" value="MY">Malasia</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/MW.jpg) no-repeat scroll center left white;" value="MW">Malawi</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/MV.jpg) no-repeat scroll center left white;" value="MV">Maldivas</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/ML.jpg) no-repeat scroll center left white;" value="ML">Mali</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/MT.jpg) no-repeat scroll center left white;" value="MT">Malta</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/MA.jpg) no-repeat scroll center left white;" value="MA">Marruecos</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/MH.jpg) no-repeat scroll center left white;" value="MH">Marshall (Islas)</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/MU.jpg) no-repeat scroll center left white;" value="MU">Mauricio (Isla)</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/MR.jpg) no-repeat scroll center left white;" value="MR">Mauritania</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/MX.jpg) no-repeat scroll center left white;" value="MX">México</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/FM.jpg) no-repeat scroll center left white;" value="FM">Micronesia</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/MD.jpg) no-repeat scroll center left white;" value="MD">Moldavia</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/MC.jpg) no-repeat scroll center left white;" value="MC">Mónaco</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/MN.jpg) no-repeat scroll center left white;" value="MN">Mongolia</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/ME.jpg) no-repeat scroll center left white;" value="ME">Montenegro</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/MZ.jpg) no-repeat scroll center left white;" value="MZ">Mozambique</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/MM.jpg) no-repeat scroll center left white;" value="MM">Myamnmar - Birmania</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/NA.jpg) no-repeat scroll center left white;" value="NA">Namibia</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/NP.jpg) no-repeat scroll center left white;" value="NP">Nepal</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/NI.jpg) no-repeat scroll center left white;" value="NI">Nicaragua</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/NE.jpg) no-repeat scroll center left white;" value="NE">Níger</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/NG.jpg) no-repeat scroll center left white;" value="NG">Nigeria</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/NO.jpg) no-repeat scroll center left white;" value="NO">Noruega</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/NZ.jpg) no-repeat scroll center left white;" value="NZ">Nueva Zelanda</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/OM.jpg) no-repeat scroll center left white;" value="OM">Omán</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/PS.jpg) no-repeat scroll center left white;" value="PS">Palestina</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/PA.jpg) no-repeat scroll center left white;" value="PA">Panamá</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/PG.jpg) no-repeat scroll center left white;" value="PG">Papuasia Nueva Guinea</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/PK.jpg) no-repeat scroll center left white;" value="PK">Paquistán</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/PY.jpg) no-repeat scroll center left white;" value="PY">Paraguay</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/PE.jpg) no-repeat scroll center left white;" value="PE">Perú</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/PL.jpg) no-repeat scroll center left white;" value="PL">Polonia</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/PT.jpg) no-repeat scroll center left white;" value="PT">Portugal</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/PR.jpg) no-repeat scroll center left white;" value="PR">Puerto Rico</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/QA.jpg) no-repeat scroll center left white;" value="QA">Qatar</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/GB.jpg) no-repeat scroll center left white;" value="GB">Reino Unido</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/CF.jpg) no-repeat scroll center left white;" value="CF">Rep. Centroafricana</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/DO.jpg) no-repeat scroll center left white;" value="DO">Rep. Dominicana</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/CZ.jpg) no-repeat scroll center left white;" value="CZ">República Checa</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/CD.jpg) no-repeat scroll center left white;" value="CD">República del Congo</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/RW.jpg) no-repeat scroll center left white;" value="RW">Ruanda</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/RO.jpg) no-repeat scroll center left white;" value="RO">Rumanía</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/RU.jpg) no-repeat scroll center left white;" value="RU">Rusia</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/WS.jpg) no-repeat scroll center left white;" value="WS">Samoa</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/SN.jpg) no-repeat scroll center left white;" value="SN">Senegal</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/RS.jpg) no-repeat scroll center left white;" value="RS">Serbia</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/RR.jpg) no-repeat scroll center left white;" value="RR">Serbia y Montenegro</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/SL.jpg) no-repeat scroll center left white;" value="SL">Sierra Leona</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/SG.jpg) no-repeat scroll center left white;" value="SG">Singapur</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/SY.jpg) no-repeat scroll center left white;" value="SY">Siria</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/LK.jpg) no-repeat scroll center left white;" value="LK">Sri Lanka</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/SD.jpg) no-repeat scroll center left white;" value="SD">Sudán</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/SE.jpg) no-repeat scroll center left white;" value="SE">Suecia</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/CH.jpg) no-repeat scroll center left white;" value="CH">Suiza</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/ZA.jpg) no-repeat scroll center left white;" value="ZA">Suráfrica</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/SR.jpg) no-repeat scroll center left white;" value="SR">Surinam</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/SZ.jpg) no-repeat scroll center left white;" value="SZ">Swazilandia</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/TH.jpg) no-repeat scroll center left white;" value="TH">Tailandia</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/TW.jpg) no-repeat scroll center left white;" value="TW">Taiwán</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/TJ.jpg) no-repeat scroll center left white;" value="TJ">Tajikistan</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/TZ.jpg) no-repeat scroll center left white;" value="TZ">Tanzania</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/TG.jpg) no-repeat scroll center left white;" value="TG">Togo</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/TT.jpg) no-repeat scroll center left white;" value="TT">Trinidad y Tobago</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/TN.jpg) no-repeat scroll center left white;" value="TN">Túnez</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/TM.jpg) no-repeat scroll center left white;" value="TM">Turkmenistán</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/TR.jpg) no-repeat scroll center left white;" value="TR">Turquía</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/UA.jpg) no-repeat scroll center left white;" value="UA">Ucrania</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/UG.jpg) no-repeat scroll center left white;" value="UG">Uganda</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/ZY.jpg) no-repeat scroll center left white;" value="ZY">Unión Soviética (URSS)</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/UY.jpg) no-repeat scroll center left white;" value="UY">Uruguay</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/UZ.jpg) no-repeat scroll center left white;" value="UZ">Uzbekistan</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/VE.jpg) no-repeat scroll center left white;" value="VE">Venezuela</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/VN.jpg) no-repeat scroll center left white;" value="VN">Vietnam</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/YE.jpg) no-repeat scroll center left white;" value="YE">Yemen</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/YU.jpg) no-repeat scroll center left white;" value="YU">Yugoslavia</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/ZM.jpg) no-repeat scroll center left white;" value="ZM">Zambia</option>';
txt += '<option style="padding-left: 19px; background: url(http://www.filmaffinity.com/imgs/countries/ZW.jpg) no-repeat scroll center left white;" value="ZW">Zimbabwe</option>';
txt += '</select></td></tr></table></div></td>';
//<--------------------- Clasif. por GENEROS --------------------------------->
txt += '<td style="vertical-align:top;" width="270px"><div class="profile_cont_votes" width="260px">';
txt += '<div class="title_profile_votes">Por géneros</div>';
txt += '<table id="CLAS_GENEROS"><tbody>';
txt += '<tr><td><b>Género:</b></td>';
txt += '<td colspan="2"><select id="GEN_SELECT" name="GEN_SELECT">';
txt += '<option value="AC">Acción</option>';
txt += '<option value="AN">Animación</option>';
txt += '<option value="AV">Aventuras</option>';
txt += '<option value="BE">Bélico</option>';
txt += '<option value="CF">Ciencia ficción</option>';
txt += '<option value="CN">Cine negro</option>';
txt += '<option value="CO">Comedia</option>';
txt += '<option value="DO">Documental</option>';
txt += '<option value="DR">Drama</option>';
txt += '<option value="FN">Fantástico</option>';
txt += '<option value="IF">Infantil</option>';
txt += '<option value="IT">Intriga</option>';
txt += '<option value="MU">Musical</option>';
txt += '<option value="RO">Romance</option>';
txt += '<option value="TV">Serie de TV</option>';
txt += '<option value="TE">Terror</option>';
txt += '<option value="TH">Thriller</option>';
txt += '<option value="WE">Western</option>';
txt += '</select></td></tr></table></div></td>';
//<--------------------- Clasif. por AÑOS --------------------------------->
txt += '<td style="vertical-align:top;" width="270px"><div class="profile_cont_votes" width="260px">';
txt += '<div class="title_profile_votes">Por años</div>';
txt += '<table id="CLAS_ANIOS"><tbody>';
txt += '<tr><td><b>Años:</b></td>';
txt += '<td colspan="2"><select style="text-align: center;" id="ANIO_SELECT" name="ANIO_SELECT">';
/*txt += '<option style="text-align: center;" value="AA1">18XX - 1899</option>';
txt += '<option style="text-align: center;" value="AA2">1900 - 1909</option>';
txt += '<option style="text-align: center;" value="AA3">1910 - 1919</option>';
txt += '<option style="text-align: center;" value="AA4">1920 - 1929</option>';
*/txt += '<option style="text-align: center;" value="A1">18XX - 1929</option>';
txt += '<option style="text-align: center;" value="A2">1930 - 1939</option>';
txt += '<option style="text-align: center;" value="A3">1940 - 1949</option>';
txt += '<option style="text-align: center;" value="A4">1950 - 1959</option>';
txt += '<option style="text-align: center;" value="A5">1960 - 1969</option>';
txt += '<option style="text-align: center;" value="A6">1970 - 1979</option>';
txt += '<option style="text-align: center;" value="A7">1980 - 1989</option>';
txt += '<option style="text-align: center;" value="A8">1990 - 1999</option>';
txt += '<option style="text-align: center;" value="2A">2000</option>';
txt += '<option style="text-align: center;" value="2B">2001</option>';
txt += '<option style="text-align: center;" value="2C">2002</option>';
txt += '<option style="text-align: center;" value="2D">2003</option>';
txt += '<option style="text-align: center;" value="2E">2004</option>';
txt += '<option style="text-align: center;" value="2F">2005</option>';
txt += '<option style="text-align: center;" value="2G">2006</option>';
txt += '<option style="text-align: center;" value="2H">2007</option>';
txt += '<option style="text-align: center;" value="2I">2008</option>';
txt += '<option style="text-align: center;" value="2J">2009</option>';
txt += '<option style="text-align: center;" value="2K">2010</option>';
txt += '<option style="text-align: center;" value="2L">2011</option>';
txt += '<option style="text-align: center;" value="2M">2012</option>';
txt += '<option style="text-align: center;" value="2N">2013</option>';
txt += '<option selected style="text-align: center;" value="2P">2014</option>';
txt += '</select></td></tr></table></div></td></tr>';
ntableclas.innerHTML = txt;
nodoadd.parentNode.appendChild(ndivclas);
nodoadd.parentNode.appendChild(ntableclas);
injectFilesGeneral('ES','paises');
$id("PAIS_SELECT").addEventListener("change", doChangePais, false);
injectFilesGeneral('AC','generos');
$id("GEN_SELECT").addEventListener("change", doChangeGen, false);
injectFilesGeneral('2P','anios');
$id("ANIO_SELECT").addEventListener("change", doChangeAnio, false);
}
doClasPais();
}
//Función para cambiar los colores de los votos en nuestraslistas
function dochangeColorVotesLists(){
log('cambio color de votos');
setTimeout(cambiar_colores, 1500)
function cambiar_colores(){
var npages = "//div[@class='pager']/a".findNodesArray();
for(var j = 0; j < npages.length; j++){
npages[j].onclick = function(){
setTimeout(cambiar_colores, 3000);
document.getElementById("tabla-afinidades").remove();
doAddMediaInLists();
};
}
var nvotos = "//div[@class='rat-movie']".findNodesArray();
for(var i = 0; i < nvotos.length; i++){
//if(nvotos[i].parentNode.className = "hide-movie")
if(nvotos[i].parentNode.className != undefined){;
if(nvotos[i].textContent != "-"){
if((+nvotos[i].textContent)>6)
nvotos[i].style.backgroundColor = "#00AA10";
else if((+nvotos[i].textContent)>3)
nvotos[i].style.backgroundColor = "#F2AA1D";
} //if
else
nvotos[i].style.backgroundColor = "#447CAD";
}// if
}//for
}//cambiar_colores
}
/*
doAddFavList
Añade las listas favoritas a la página de Mis listas
Creado: 18/5/2009 - David Buxó
Mod: 19/5/2009 - David Buxó - Añadido elminar listas
Comentarios: Por ahora tenemos que tener alguna lista nuestra para que funcione correctamente.
*/
function doAddFavLists() {
function removeListFromFavorites() {
if (confirm("¿Desea eliminar esta lista de sus Listas Favoritas?")) {
var favListsStr = GM_getValue(getUserId() + '.favlists');
var favoritas = eval(favListsStr);
var user_id = this.id.split(':')[0];
var list_id = this.id.split(':')[1];
var ix = inArray2(favoritas, 'list_id', list_id, 'user_id', user_id);
if (ix) {
favoritas.splice(ix, 1);
GM_setValue(getUserId() + '.favlists', favoritas.toSource());
var row = this.parentNode.parentNode;
row.parentNode.removeChild(row);
}
}
}
function removeListIMDBFromFavorites() {
if (confirm("¿Desea eliminar esta lista de sus Listas Favoritas?")) {
var favListsStr = GM_getValue(getUserId() + '.favlistsim');
var favoritas = eval(favListsStr);
var titulol = this.id.split(':')[0];
var useraut = this.id.split(':')[1];
var ix = inArray2(favoritas, 'titulo', titulol, 'user', useraut);
if (ix) {
favoritas.splice(ix, 1);
GM_setValue(getUserId() + '.favlistsim', favoritas.toSource());
var row = this.parentNode.parentNode;
row.parentNode.removeChild(row);
}
}
}
GM_addStyle('.addToFavorites {margin-left:5px;cursor:pointer;width:12px;height:12px;}');
var MyListsTable = '//div[@class="leyend-bottom"]'.findNode();
var favListsStr = GM_getValue(getUserId() + '.favlists');
log(typeof favListsStr);
if (typeof favListsStr != 'undefined') {
var tpl = "<a class='llnk' href='/es/userlist.php?user_id={user_id}&list_id={list_id}'>{list_name}</a>";
//Divs contenedores: títulos + tablas
var divfav = d.createElement('div');
divfav.id = "mt-content-cell";
divfav.innerHTML = '<h1 id="main-title">Mis Listas Favoritas</h1>';
var divimdb = d.createElement('div');
divimdb.id = "mt-content-cell";
divimdb.innerHTML = '<h1 id="main-title">Mis Listas Favoritas (IMDB)</h1>';
var tabfav = d.createElement('table');
tabfav.className = "llstd";
tabfav.width = "100%";
tabfav.border = "0";
tabfav.cellPadding = "0";
tabfav.cellSpacing = "0";
var tabimdb = d.createElement('table');
tabimdb.className = "llstd";
tabimdb.width = "100%";
tabimdb.border = "0";
tabimdb.cellPadding = "0";
tabimdb.cellSpacing = "0";
//Cabeceras
var txtt = "";
txtt += '<tr bgcolor="#006633"><td><span style="font-size:10px; font-weight: bold; color:#ffffff"> Nombre</span></td>';
txtt += '<td align="center"><span style="font-size:10px; font-weight: bold; color:#ffffff">Usuario</span></td>';
txtt += '<td> </td></tr></tbody>';
tabfav.innerHTML = txtt;
var txtti = "";
txtti += '<tr bgcolor="#DDDB3F"><td><span style="font-size:10px; font-weight: bold; color:#000000"> Nombre</span></td>';
txtti += '<td align="center"><span style="font-size:10px; font-weight: bold; color:#000000">Usuario</span></td>';
txtti += '<td> </td></tr>';
tabimdb.innerHTML = txtti;
var favlists = eval(favListsStr);
favlists.sort(function(a, b) {
return b.list_name.toLowerCase() > a.list_name.toLowerCase();
});
for (var ix in favlists) {
var list = favlists[ix];
var content = tpl.replaceObject(list);
var tri = d.createElement('tr');
tri.className = "list-item";
tri.style.backgroundColor = "#ffffff";
tri.addEventListener("mouseover", function() {
this.style.backgroundColor = "#f0f0f0";
}, false);
tri.addEventListener("mouseout", function() {
this.style.backgroundColor = "#ffffff";
}, false);
var tdi1 = d.createElement('td');
tdi1.style.padding = "3px 1px";
tdi1.style.color = "#444444";
tdi1.style.fontSize = "14px";
tdi1.style.borderTop = "1px solid #e2e2e2";
var tdi2 = d.createElement('td');
tdi2.style.padding = "3px 1px";
tdi2.style.color = "#444444";
tdi2.style.fontSize = "14px";
tdi2.style.borderTop = "1px solid #e2e2e2";
tdi2.width = "90px";
tdi2.align = "center";
var tdi3 = d.createElement('td');
tdi3.style.padding = "3px 1px";
tdi3.style.color = "#444444";
tdi3.style.fontSize = "14px";
tdi3.style.borderTop = "1px solid #e2e2e2";
tdi3.width = "20px";
tdi1.innerHTML = content;
tdi2.innerHTML = "<b>" + list.user_name.replace(" ", " ") + "</b>";// "<b>" + list.films + "</b>";
var button = d.createElement('IMG');
button.className = 'addToFavorites';
button.src = img_minus;
button.alt = "Eliminar lista de Favoritas";
button.id = list.titulo + ":" + list.user;
button.addEventListener("click", removeListFromFavorites, false);
tdi3.appendChild(button);
tri.appendChild(tdi1);
tri.appendChild(tdi2);
tri.appendChild(tdi3);
tabfav.appendChild(tri);
}
// Insertamos las listas (Favoritas -> IMDB)
var favListsStr2 = GM_getValue(getUserId() + '.favlistsim');
if (typeof favListsStr2 != 'undefined') {
var tpl2 = "<a href='{direccion}/?view=compact' class='llnk' target='_blank'>{titulo} ({nelements} elem.)</a>";
}
var favlists2 = eval(favListsStr2);
favlists2.sort(function(a, b) {
var titA = a.titulo.toLowerCase();
var titB = b.titulo.toLowerCase();
//return b.titulo.toLowerCase() > a.titulo.toLowerCase();
if (titA < titB) //sort string ascending
return -1
if (titA > titB)
return 1
return 0 //default return value (no sorting)
});
for (var ix2 in favlists2) {
var list2 = favlists2[ix2];
var content2 = tpl2.replaceObject(list2);
var tri = d.createElement('tr');
tri.className = "list-item";
tri.style.backgroundColor = "#ffffff";
tri.addEventListener("mouseover", function() {
this.style.backgroundColor = "#f0f0f0";
}, false);
tri.addEventListener("mouseout", function() {
this.style.backgroundColor = "#ffffff";
}, false);
var tdi1 = d.createElement('td');
tdi1.style.padding = "3px 1px";
tdi1.style.color = "#444444";
tdi1.style.fontSize = "14px";
tdi1.style.borderTop = "1px solid #e2e2e2";
var tdi2 = d.createElement('td');
tdi2.style.padding = "3px 1px";
tdi2.style.color = "#444444";
tdi2.style.fontSize = "14px";
tdi2.style.borderTop = "1px solid #e2e2e2";
tdi2.width = "90px";
tdi2.align = "center";
var tdi3 = d.createElement('td');
tdi3.style.padding = "3px 1px";
tdi3.style.color = "#444444";
tdi3.style.fontSize = "14px";
tdi3.style.borderTop = "1px solid #e2e2e2";
tdi3.width = "20px";
tdi1.innerHTML = content2;
tdi2.innerHTML = "<b>" + list2.user.replace(" ", " ") + "</b>";// "<b>" + list2.films + "</b>";
var button2 = d.createElement('IMG');
button2.className = 'addToFavorites';
button2.src = img_minus;
button2.alt = "Eliminar lista de Favoritas";
button2.id = list2.titulo + ":" + list2.user;
button2.addEventListener("click", removeListIMDBFromFavorites, false);
tdi3.appendChild(button2);
tri.appendChild(tdi1);
tri.appendChild(tdi2);
tri.appendChild(tdi3);
tabimdb.appendChild(tri);
}
var nodop = '//div[@id="mt-content-cell"]'.findNode();
MyListsTable.parentNode.removeChild(MyListsTable.parentNode.lastChild);
divfav.appendChild(tabfav);
divimdb.appendChild(tabimdb);
nodop.parentNode.insertBefore(divfav, nodop.nextSibling);
nodop.parentNode.insertBefore(divimdb, nodop.nextSibling.nextSibling);
}
}
/*
doAddToFavList
Añade el icono para añadir las listas a las Listas Favoritas
Creado: 19/5/2009 - David Buxó
*/
function doAddToFavLists() {
var favoritas;
function addListToFavorites() {
var anchor = ("//img[@id='" + this.id + "']").findNode().previousSibling;
var name = "//h1[@id='main-title']".findNode();
var list = { user_id:url.split('=')[1].split('#')[0],
list_id:anchor.href.split('=')[2],
list_name:anchor.textContent,
user_name:name.textContent.split(': ')[1]};
if (confirm("¿Desea añadir esta lista a sus Listas Favoritas?")) {
favoritas.push(list);
GM_setValue(getUserId() + '.favlists', favoritas.toSource());
this.parentNode.removeChild(this);
}
}
function injectCode() {
GM_addStyle('.addToFavorites {margin-right:6px;padding-top:2px;width:12px;height:12px;}');
var user_id = url.split('=')[1].split('#')[0];
var links = "//div[@class='list-name-wrapper']/a".findNodesArray();
var favListsStr = GM_getValue(getUserId() + '.favlists');
if (typeof favListsStr != 'undefined') {
favoritas = eval(favListsStr);
} else {
favoritas = [];
}
;
for (var ix in links) {
var anchor = links[ix];
var list_id = anchor.href.split('=')[2];
if (!inArray2(favoritas, 'user_id', user_id, 'list_id', list_id)) {
anchor.style.cssFloat = 'left';
var button = d.createElement('IMG');
button.className = 'addToFavorites';
button.src = img_plus;
button.style.cursor = "pointer";
button.style.cssFloat = 'left';
button.alt = "Añadir lista a Favoritas";
button.id = anchor.href.split('=')[2];
button.addEventListener("click", addListToFavorites, false);
anchor.parentNode.insertBefore(button, anchor);
//anchor.parentNode.appendChild(button);
}
else {
anchor.style.cssFloat = 'left';
var button = d.createElement('IMG');
button.className = 'addToFavorites';
button.src = redstar;
button.style.cssFloat = 'left';
button.alt = "Lista Favorita";
anchor.parentNode.insertBefore(button, anchor);
}
}
}
injectCode();
}
/*
doAddToFavListsIMDB
Añade el icono para añadir las listas a las Listas Favoritas (en IMDB)
Creado: 28/12/12 - Benjani
*/
function doAddToFavListsIMDB() {
var favoritas;
function addListToFavorites() {
var titulol = "//h1[@class='header']".findNode();
var user_aut = "//h3[contains(text(),'Other Lists By')]".findNode();
user_aut = user_aut.textContent.split(' ')[3];
var elementos = "//div[@class='desc']".findNode();
var nelementos = elementos.getAttribute("data-size",0);
var basedir = "http://www.imdb.com/list/";
var dir = url.split('/')[4];
var finaldir = basedir + dir;
var list = { titulo:titulol.textContent,
user:user_aut,
nelements:nelementos,
direccion:finaldir};
if (confirm("¿Desea añadir esta lista a sus Listas Favoritas (IMDB)?")) {
favoritas.push(list);
GM_setValue(getUserId() + '.favlistsim', favoritas.toSource());
this.parentNode.removeChild(this);
}
}
function extractUserData() {
var titulol = "//h1[@class='header']".findNode();
var user_aut = "//h3[contains(text(),'Other Lists By')]".findNode();
user_aut = user_aut.textContent.split(' ')[3];
var elementos = "//div[@class='desc']".findNode();
var basedir = "http://www.imdb.com/list/";
var dir = url.split('/')[4];
var finaldir = basedir + dir;
var nelementos = elementos.getAttribute("data-size",0);
return {titulo:titulol.textContent,
user:user_aut,
nelements:nelementos,
direccion:finaldir};
}
function injectCode() {
GM_addStyle('.addToFavorites {margin-left:5px;cursor:pointer;width:12px;height:12px;}');
var titulo = "//h1[@class='header']".findNode();
var user_aut = "//h3[contains(text(),'Other Lists By')]".findNode();
user_aut = user_aut.textContent.split(' ')[3];
var favListsStrIM = GM_getValue(getUserId() + '.favlistsim');
if (typeof favListsStrIM != 'undefined') {
favoritas = eval(favListsStrIM);
} else {
favoritas = [];
}
;
if (!inArray2(favoritas, 'titulo', titulo.textContent, 'user', user_aut)) {
var button = d.createElement('IMG');
button.className = 'addToFavorites';
button.src = img_plus;
button.alt = "Añadir lista a Favoritas";
button.id = user_aut;
button.addEventListener("click", addListToFavorites, false);
titulo.parentNode.insertBefore(button, titulo.nextSibling);
}
else{
var listas_im = extractUserData();
favoritas = arrayReplace(favoritas,'titulo',listas_im);
GM_setValue(getUserId() + '.favlistsim', favoritas.toSource());
}
}
injectCode();
}
// Inicio codigo principal
var browser = getBrowserCode();
var date = new Date();
log('Iniciando ' + appName + ' ' + appVersion + ' (' + date + ') ');
log(navigator.appName + ' ' + navigator.appVersion);
log('Logeado: ' + logged);
log('Administrador: ' + isAdmin);
if (url.search(/\/filter\.php/ig) > -1) return;
// Parcheador
// TODO: Comprobar browser y compatibilidad
for (var patchName in patches) {
var patch = patches[patchName];
if (patch.browser.indexOf(browser) > -1) {
var enabled = (typeof patch.sections == "undefined") || inSections(patch.sections);
if (typeof patch.preference != "undefined") {
enabled = enabled && getPreference(patch.preference, patch.def);
}
if (typeof patch.logged != "undefined") {
enabled = enabled && (logged || !patch.logged);
}
if (enabled) {
log("parche activado: " + patchName);
var resultado = patch.method();
// Si el parche devuelve false, finalizamos la ejecución
if (typeof resultado != "undefined" && !resultado) {
return;
}
}
}
}
log("Fin (" + date + ")");
}
;