/*
FilmAffinityPlus

Version 1.2.2
11 de octubre de 2009
Released under the GPL license
http://www.gnu.org/copyleft/gpl.html

Website: http://javierarias.wordpress.com/scripts/FilmAffinityPlus

@todo:
-Remarcar las almas gemelas nuevas que han aparecido en la lista desde la última vez que se calcularon 
-En las almas gemelas que se mantienen, indicar lo que ha subido o bajado la afinidad desde el último cálculo
-Indicar si han votado nuevas pelis 
-Y tal vez la opción de que tanto en recomendaciones como en el top salgan 100 resultados por defecto.

Changelog
* 1.2.2 11 de octubre de 2009
   Arreglada la búsqueda en Vagos.es
   Arreglada la búsqueda en CINeol
   Optimizada la búsqueda en Taringa!
   Añadido el sitio de búsqueda Youtube
   Añadido el buscador de torrents Torrents.to
   Actualizada la lista de países (necesaria para dibujar las banderas en la sección «Mis Datos»)
   Correcciones menores

* 1.2.1, 15 de julio de 2009
   Los enlaces en las fichas de las películas habían dejado de mostrarse por cambios en la web.

* 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           FilmAffinityPlus
// @namespace      http://www.filmaffinity.com/
// @description    Mejoras en FilmAffinity
// @include        http://www.filmaffinity.com/es/*
// ==/UserScript==

window.addEventListener("load", function(e) {
	var d = document;
	var appName = 'FilmAffinityPlus';
	var appVersion = '1.2.2';
	var homepage = 'http://javierarias.wordpress.com/scripts/filmaffinityplus/';
	var url = d.location.href;
	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 debuglog = '<u><strong>INFORMACIÓN DE DEPURADO</strong></u>';

	String.prototype.trim = function(){ return this.replace(/^\s+|\s+$/g,''); }

	//http://www.iconarchive.com/category/funny/kidcons-icons-by-iconfactory.html
	var ratingStyles = {
		//blue: { name: 'Blue', icon: 'http://www.iconarchive.com/icons/klukeart/pink-gold/star-blue-16x16.png' },
		//pink: { name: 'Pink', icon: 'http://www.iconarchive.com/icons/klukeart/pink-gold/star-pink-16x16.png' },
	//	film: { name: 'Film', icon: 'http://www.iconarchive.com/icons/iconshock/cinema/film-reel-16x16.png' },
		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=' }
	//	kids: { name: 'kids', icon: 'http://www.iconarchive.com/icons/iconfactory/kidcons/Purple-Star-icon.gif' }
	};

	var closeimg = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAPxSURBVHjaYvz//z8DLQBAALGACEZGRpwKrK2jHICUA8wBIBqID5w4sfIALj0gNQABxAgm0Ay2sYkRAFIF////y2dkZBJgZWVhYGNjA2v4+fMXw69fPxn+/v3zAahmIlBswunTaz+gGwwQQBgGAw01AFLzmZiYDExNjRn8/R0ZNDXlGLi42OFqrl9/zLBr13GGzZu3M/z58/sC0IzEM2fWXUA2GCCAUAyGGrpfSEhIoLAwiUFdXRZvOD5+/Iph8uSlQIuuglzsePbs+gswgwECCG4w1Pv7BQUFDQoKEhkkJYWB3v3HwMzMhNVQmNz37z8ZurvnMdy6dQNkqOO5cxs+gMwECCBkXQUg7wcFeTFwcLCBXaOgIM4gKsrP8P79ZxT85MkrBm1tBWC4szD8+PGLISbGn4Gbm9cAaGABzDCAAGJChMu/fBUVZaBBAgyfPn1lsLLSBirmZBAW5meQl5eAG/ru3ScGFxcTsB4lJSkGdnY2MBsUH//+/cuHmQcQQCywJAWKfWVlebBGEHjx4j2DsjInmC0lJQxMCb8ZLly4zRAQYAv34rNnbxk2bTrA8PTpC6ClH4BBwyygp+cDSp4HAAKIBarGAZak3r37CBbYuvUog6urGTBFyIP5CgoSYAwDjx69ZKitncrw9etXuBgbGzswlfwBGwwQQEywWGRlZWX4/PkL0OAPcLxy5S6gK+9gRBw2Q0GAk5OTAZaRAAKIBWYwCLx9+wHDkNOnrzEYGKigiD148ALDUBD49w+UK/+B2QABBAsKcI569+49ikJLS2OG1FQ/DAPs7PSBZBzDpEmLUMS/ffsCdyRAAMGC4gAom/769Yvh9+/fYGxmZsCQkxOM4v1Dhy6iGJ6XFwfOAzD848cPsFkgeYAAAhsMKlBAef/79++gmGUQFxdjyM8PQ8lhTU0zGaZPX85w5MhlFMNdXW0ZWFhYGL58+QwuP65d2wk2GCCAkDPIxA8f3gMjgAMYLD8ZFi3aARZ8+vQNQ2/vYgZg5mHg5eUBim9kOHnyOlgORJ85cxms5/XrV2AzYIYBBBALUsExARgc/q9evTZQU1MBpobr4PC6ffsh2FAeHm64C1au3MHw8OFzoE8vgsWvXLkKzNrfQFl6AkwNQAChFEImJkGgbLlfWlpWQEtLnQGUtvEBUKa5dOkqMJXcBRdC16/vghdCAAGEUWwaGweCDJ/PyclloKOjA8y22Eu4O3ceMly8eAGY9j+BDEuEGQozGCCAsBb0hob+4IIelPfZ2dkFhIREgKWdBFjDs2fPGN68eQ1MAd/hBT3QUIyCHiCAsBqMDKB5H1w1/fv3F6bxACz2cVVNAAHESKvKFCDAAODY+sRgw+boAAAAAElFTkSuQmCC';

	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 linkSites = {
		imdb : { name: 'IMDb',
			 icon: 'http://imdb.com/favicon.ico',
			 search: 'http://spanish.imdb.com/find?q=%searchvo;tt=on;nm=on;mx=20',
			 method: methodEncode,
			 type: _TFILM
			},
		cineol : { name: 'CINeol',
			   icon: 'http://www.cineol.net/favicon.ico',
			   search: 'http://www.cineol.net/multisearch.php?go=1&searchby=title&orderby=anio&orden=desc&query=%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
			},
		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
			},
		alpacine : { name: 'Alpacine',
			     icon: 'http://www.alpacine.com/favicon.ico',
			     search: 'http://www.alpacine.com/buscar/?buscar=%searchvo',
			     method: methodEscape,
			     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,
			     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: methodEncode,
			  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
			},
		mininova : { name: 'Mininova',
			     icon: 'http://static.mininova.org/images/favicon.ico',
			     search: 'http://www.mininova.org/search/%searchvo/4',
			     method: methodEncode,
			     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
			},
		piratebay : { name: 'The Pirate Bay',
			      icon: 'http://thepiratebay.org/favicon.ico',
			      search: 'http://thepiratebay.org/search/%searchvo/0/99/200',
			      method: methodEncode,
			      type: _TDOWN
			},
		youtorrent : { name: 'YouTorrent',
			       icon: 'http://www.youtorrent.com/favicon.ico',
			       search: 'http://www.youtorrent.com/tag/?q=%searchvo&order=relevance&sort=desc',
			       method: methodEscape,
			       type: _TDOWN
			},
		torrentsto : { name: 'Torrents.to',
			       icon: 'http://static.torrents.to/img/favicon.png',
			       search: 'http://torrents.to/search/%searchvo',
			       method: methodEscape,
			       type: _TDOWN
			},
		youtube : { name: 'YouTube',
			       icon: 'http://www.youtube.com/favicon.ico',
			       search: 'http://www.youtube.com/results.php?search_query=%searchvo',
			       method: methodEscape,
			       type: _TGEN
			},
		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
			},
		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: true,
			     type: _TDOWN
			},
		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
			},
		vagos : { name: 'Vagos.es',
			  icon: 'http://www.vagos.es/favicon.ico',
			  search: 'http://comunidad.wamba.com/buscar/index.php?cx=004825717204032381724%3Ajfqcclqsbpi&cof=FORID%3A11&sa=Buscar&q=%searchtr',
			  method: methodEncode,
			  type: _TDOWN
			},
		clansa : { name: 'Clan-Sudamérica',
			  icon: 'http://www.clan-sudamerica.com.ar/favicon.ico',
			  search: 'http://www.clan-sudamerica.com.ar/invision/index.php?act=Search&CODE=01&keywords=%searchtr&namesearch=&forums%5B%5D=all&searchsubs=1&prune=0&prune_type=newer&sort_key=last_post&sort_order=desc&search_in=titles&result_type=topics',
			  method: methodEncode,
			  regreq: true,
			  type: _TDOWN
			},
		argenteam : { name: 'aRGENTeaM',
			  icon: 'http://www.argenteam.net/favicon.ico',
			  search: 'http://foro.argenteam.net/search.php?keywords=%searchvo&terms=all&author=&fid%5B%5D=68&fid%5B%5D=69&fid%5B%5D=70&sc=1&sf=firstpost&sr=posts&sk=t&sd=d&st=0&ch=500&t=0&submit=Buscar',
			  method: methodEncode,
			  regreq: true,
			  type: _TDOWN
			},
		fileheaven : { name: 'fileheaven',
			  icon: 'http://www.fileheaven.org/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
			},
		taringa : { name: 'Taringa!',
			  icon: 'http://www.taringa.net/favicon.ico',
			  search: 'http://www.taringa.net/buscador-taringa.php?q=%searchvo&cat=tv-peliculas-series&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
			},
		solosubtitulos : { name: 'solosubtitulos',
				icon: 'http://www.solosubtitulos.com/imagenes_web/favicon.ico',
				search: 'http://www.solosubtitulos.com/?q=%searchvo',
				method: methodEscape,
				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
			}
	};

	function log(msg) {
		debuglog+='<br/>'+msg;
		GM_log(msg);
	}

	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);

		d.getElementById("backgroundLayer").addEventListener("click", hideLog, true);
	}

	function hideLog() {
		d.body.removeChild(d.getElementById('board'));
		d.body.removeChild(d.getElementById('backgroundLayer'));
	}

	function goToHomepage() { location.href=homepage; }

	function isMyFriends() {
		return url.search(/myfriends\.php/ig) > -1;
	}

	function isStats() {
		return url.search(/userrep\.php\?user_id\=/ig) > -1;
	}

	function isFlagImg(img) {
		return img.src.search(/\/countries\//ig) > -1;
	}
	
	function isRatingImg(img) {
		return img.src.search('http://www.filmaffinity.com/imgs/myratings/') > -1 || img.src.search('http://www.filmaffinity.com/imgs/ratings/') > -1 ;
	}

	function isFilm() {
		return url.search(/\/film/ig) > -1;
	}

	function isSearch() {
		return url.search(/\/search\.php/ig) > -1;
	}
	
	function isMyData() {
		return url.search(/\/mydata\.php/ig) > -1;
	}

	function isTopGen() {
		return url.search(/\/topgen\.php/ig) > -1;
	}

	function isAdvSearch() {
		return url.search(/\/advsearch\.php/ig) > -1;
	}

	function getRatingFromImg(img) {
		if ( img.src.search('myratings') > -1 )
			return img.src.substring(new String('http://www.filmaffinity.com/imgs/myratings/').length, img.src.indexOf('.gif'));
		else
			return img.src.substring(new String('http://www.filmaffinity.com/imgs/ratings/').length, img.src.indexOf('.gif'));
	}
	
	function getCountryCode(country) {
		var countriesCodes = { "Afganistán": "AF", "Albania": "AL", "Alemania": "DE", "Alemania del Este (RDA)": "FD", "Alemania del Oeste (RFA)": "FF",  "Angola": "AO", "Argelia": "DZ", "Argentina": "AR", "Armenia": "AM", "Australia": "AU", "Austria": "AT", "Azerbaijan" : "AZ", "Bahamas" : "BS", "Bangladesh" : "BD", "Bélgica": "BE", "Benín" : "BJ", "Bolivia": "BO", "Bosnia - Herzegovina": "BA", "Brasil": "BR", "Bulgaria": "BG", "Burkina Faso": "BF", "Bután": "BT", "Camboya": "KH", "Canadá": "CA", "Chad": "TD", "Checoslovaquia": "ZX", "Chile": "CL", "China": "CN", "Chipre" : "CY", "Colombia": "CO", "Corea del Norte": "KP", "Corea del Sur": "KR", "Costa de Marfil": "CI", "Costa Rica": "CR", "Croacia": "HR", "Cuba": "CU", "Dinamarca": "DK", "Ecuador": "EC", "Egipto": "EG", "Emiratos Árabes" : "AE", "Eslovaquia" : "SK", "Eslovenia": "SI", "España": "ES", "Estados Unidos": "US", "Estonia": "EE", "Etiopía" : "ET", "Filipinas": "PH", "Finlandia": "FI", "Francia": "FR", "Georgia": "GE", "Grecia": "GR", "Guatemala": "GT", "Guinea" : "GN", "Guinea Bissau" : "GW", "Guyana" : "GY", "Haití" : "HT", "Holanda": "NL", "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", "Laos" : "LA", "Letonia" : "LE", "Líbano": "LB", "Liberia" : "LR", "Lituania" : "LT", "Luxemburgo": "LU", "Macedonia": "MK", "Malasia": "MY", "Mali": "ML", "Malta" : "MT", "Marruecos": "MA", "Mauritania" : "MR", "México": "MX", "Moldavia" : "MD", "Mongolia": "MN", "Naimibia" : "NA", "Nepal": "NP", "Nicaragua": "NI", "Nigeria": "NG", "Noruega": "NO", "Nueva Zelanda": "NZ", "Panamá": "PA", "Paquistán": "PK", "Paraguay": "PY", "Perú": "PE", "Polonia": "PL", "Portugal": "PT", "Puerto Rico": "PR", "Reino Unido": "GB", "Rep. Dominicana": "DO", "República Checa": "CZ", "Ruanda" : "RW", "Rumanía": "RO", "Rusia": "RU", "Senegal": "SN", "Serbia": "RS", "Serbia y Montenegro" : "RR", "Singapur": "SG", "Sri Lanka" : "LK", "Suecia": "SE", "Suiza": "CH", "Suráfrica": "ZA", "Tailandia": "TH", "Taiwán": "TW", "Tanzania" : "TZ", "Territorios Palestinos": "PS", "Trinidad y Tobago" : "TT", "Túnez": "TN", "Turquía": "TR", "Unión Soviética (URSS)": "ZY", "Uruguay": "UY", "Venezuela": "VE", "Vietnam": "VN", "Yemen": "YE", "Yugoslavia": "YU" };
		return countriesCodes[country];
	}


// ************************ PREFERENCIAS *********************************************

	function addFAPBar() {
		log("Añadir barra FilmAffinityPlus");
		GM_addStyle('#fap_bar { border-right: 1px outset black; border-bottom: 1px solid black; background-color: #def; color: black; padding: 1px; font-variant: small-caps; font-size: 12px; font-family: Tahoma; width: 135px; height: 12px; overflow: hidden; position: static; top: 0; left: 0, opacity: .95; }');
		GM_addStyle('#fap_bar > button { font-size: inherit; border: 1px outset blue; background-color: lightblue; }');
		GM_addStyle('#fap_bar > button:hover { background-color: #aef; border: 1px outset blue }');
		GM_addStyle('#fap_bar > button:active { border: 1px inset blue; color: red; }');
		GM_addStyle('#fap_bar:hover { height: 50px; width: 99%; display:table-cell; vertical-align: middle; }');
		GM_addStyle('#fap_bar > strong[id=title] { cursor: pointer; }');
	
		var fap = d.createElement('DIV');
		fap.id="fap_bar";	
		fap.innerHTML='<strong id="title">' + appName + ' <small>' + appVersion + '</small></strong> &nbsp; &nbsp; <button id="configfap" title="Abre el panel de configuración del script">Panel de configuración</button> &nbsp; &nbsp; <button id="homefap" title="Va a la página oficial del script">Ir a web oficial</button> &nbsp; &nbsp; <button id="searchenginefap" title="Añade FilmAffinity a los motores de búsqueda de Firefox">Añadir motor de búsqueda de FilmAffinity</button>';

		d.body.insertBefore(fap, d.body.firstChild);

		d.getElementById('configfap').addEventListener("click", showPreferences, true);
		d.getElementById('homefap').addEventListener("click", goToHomepage, true);
		d.getElementById('searchenginefap').addEventListener('click', installSearchEngine, true);
		d.getElementById('title').addEventListener("click", showLog, true);

		log("-añadida barra FAP");
	}
	
	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: underline; }');
		GM_addStyle('#fap_prefs fieldset { 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 }');

		var background = d.createElement('DIV');
		background.id = 'backgroundLayer';
		d.body.appendChild(background);

		var prefs = d.createElement('DIV');
		prefs.id = 'fap_prefs';

		var tmp = '<div id="closeButton" title="Cierra el panel de configuración"></div><h1>' + appName + ' versión ' + appVersion + '</h1>';
		tmp += '<h2>Panel de configuración</h2>';
		//tmp += '<object data="http://petra.euitio.uniovi.es/~i1656488/star.svg" type="image/svg+xml" width="400" height="400"><embed src="http://petra.euitio.uniovi.es/~i1656488/star.svg" type="image/svg+xml" width="400" height="400" /></object>'
		tmp += '<table><caption>Mostrar enlaces a los siguientes sitios web:</caption>';
		tmp += '<thead><tr><th>Cine</th><th>General</th><th>Descargas</th><th>Subtítulos</th></thead>';
		tmp += '<tbody><tr valign="top">';

		for ( var t in types=[_TFILM, _TGEN, _TDOWN, _TSUB] ) {
			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 icon = '<img src="'+linkSites[i].icon+'" alt="icono de '+name+'" title="'+title+'"/>';
					var check = getPreference(name) == true || typeof getPreference(name) == 'undefined' ? 'checked="checked"' : '';
					tmp += '<label title="'+title+'"><input type="checkbox" name="'+ name +'" '+ check +'></input>'+ icon+' '+name;
					if ( linkSites[i].regreq )
						tmp += ' <span class="regreq">(*)</span>';
					tmp += '</label><br/>';
				}
			}
			tmp += '</td>';
		}
		tmp += '</tr>';
		var checked = getPreference('newwindow') == true ? 'checked="checked"' : '';
		tmp += '<tr><td colspan=4><label><input type="checkbox" '+checked+' name="newwindow">Abrir los enlaces en una nueva ventana</label></td></tr>';
		tmp += '<tr><td colspan=4><hr>Los sitios marcados con <span class="regreq">(*)</span> requieren registro.</td></tr>';
		tmp += '</tbody></table>';

		var rating = getPreference('ratingStyle');
		tmp += '<br/><fieldset><legend>Estilo de las puntuaciones</legend><div style="text-align: left"><label><input type="radio" name="ratingStyle" value="default" ' + ((rating=='default' || typeof rating=='undefined')?"checked=\"checked\"":"")+ '>Estilo por defecto</input></label><br/>';
		for ( var t in ratingStyles ) {
			tmp += '<label><input type="radio" name="ratingStyle" value="'+ratingStyles[t].code+'" ' + ((rating==ratingStyles[t].code)?"checked=\"checked\"":"")+ '>'+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);
		d.getElementById("saveButton").addEventListener("click", savePreferences, true);
		d.getElementById("closeButton").addEventListener("click", hidePreferences, true);
		d.getElementById("backgroundLayer").addEventListener("click", hidePreferences, true);

		log("-mostradas preferencias");
	}

//showPreferences();

	function setPreference(name, value) {
		log('Guardo preferencia: ' + name + '=' + value );
		GM_setValue('cfg.'+name, value);
	}

	function getPreference(name) {
		log('Saco preferencia: ' + name + '=' + GM_getValue('cfg.'+name));
		return GM_getValue('cfg.'+name);
	}

	function savePreferences() {
		// chapuza
		log('Guardar preferencias');
		var items = document.getElementsByTagName("label");
		for ( var i=0; i<items.length-4; ++i )
			setPreference(items[i].firstChild.name, items[i].firstChild.checked);

		// new window
		setPreference(items[items.length-4].firstChild.name, items[items.length-4].firstChild.checked);

		for ( var i=items.length-3; i<items.length; ++i ) {
			if ( items[i].firstChild.checked ) {
				setPreference(items[i].firstChild.name, items[i].firstChild.value);
				break;
			}
		};

		log('-guardadas preferencias');

		alert('Los cambios tendrán efecto al recargar la página.');
		hidePreferences();
	}

	function hidePreferences() {
		d.body.removeChild(d.getElementById('fap_prefs'));
		d.body.removeChild(d.getElementById('backgroundLayer'));
	}

// ************************ FIN PREFERENCIAS *********************************************

	function addLinkSites( elem, title, titletr ) {
		log("Añadir enlaces a otros sitios web");
		for ( var t in types=[_TFILM, _TGEN, _TDOWN, _TSUB] ) {
			var txt = '';
			var tmp = '';

			if ( types[t] == _TFILM )
				txt = 'Ficha en: ';
			else if ( types[t] == _TGEN )
				txt = 'Buscar en: ';
			else if ( types[t] == _TDOWN )
				txt = 'Descargar de: ';
			else if ( types[t] == _TSUB )
				txt = 'Subtítulos en: ';
			else
				alert("Error en addLinkSites(). Informe al autor.");

			for ( var i in linkSites ) {
				// @todo: si la preferencia es false la consulta se hace dos veces, optimizar
				if ( linkSites[i].type == types[t] && ( getPreference(linkSites[i].name) || typeof getPreference(linkSites[i].name) == 'undefined' ) ) {
					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
						sstr = linkSites[i].search.replace(/%searchvo/, linkSites[i].method(title));
					
					tmp += '&nbsp;<a href="'+sstr+'" target="'+target+'"><img src="'+sicon+'" width=16 height=16 alt="'+stit+'" title="'+stit+'"></a>';
				}
			}
			
			if ( tmp != '' )
				elem.innerHTML += '<br><span style="padding-left: 1em; font-style: italic;">' + txt + tmp + '</span>';
		}
		log("-añadidos enlaces");
	}


	function doRatingChange(table) {
		log("RatingChange");
		for ( var i = 1; i < table.rows.length-1; ++i ) {
			var userid = table.rows[i].cells[0].firstChild.href.split('=')[1];
			var ratedfilms = table.rows[i].cells[3].textContent.split('.').join('');
			var oldratedfilms = GM_getValue(userid);
			if ( typeof oldratedfilms == 'undefined' ) {
				GM_setValue(userid, ratedfilms);
			}
			else if ( oldratedfilms != ratedfilms ) {
				var dif = ratedfilms-oldratedfilms;
				var prefix = dif > 0 ? '+' : '';
				var bgcolor = dif > 0 ? 'lightgreen' : '#FF6666';
				table.rows[i].bgColor=bgcolor;
				table.rows[i].cells[3].textContent += ' (' + prefix + dif + ')';
				GM_setValue(userid, ratedfilms);
			}
			else
				null;
		}
		log("-fin RatingChange");
	}

	function doFlag2Title() {
		log("Poner nombre del país en las banderas");
		var imgs = d.getElementsByTagName('img');
		for ( var i = 0; i < imgs.length; ++i )
			if ( isFlagImg( imgs[i] ) && imgs[i].hasAttribute('alt') )
				imgs[i].setAttribute( 'title', imgs[i].getAttribute('alt') );
		log("-fin nombre a banderas");
	}

	function doAlt2Title() {
		log("alt2title");
		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') );
		log("-fin alt2title");
	}

	function doInterFilm( table ) {
		log("InterFilm");

		var originalTitle = '';
		var translatedTitle = '';
		if ( isAdmin ) {
			originalTitle = table.rows[0].cells[0].childNodes[6].rows[0].cells[0].childNodes[1].rows[0].cells[1].textContent;
			translatedTitle = table.getElementsByTagName("SPAN")[0].textContent;
		}
		else {
			originalTitle = table.rows[0].cells[0].childNodes[5].rows[0].cells[0].childNodes[1].rows[0].cells[1].textContent;
			translatedTitle = table.getElementsByTagName("SPAN")[0].textContent;
		}

		if ( originalTitle.indexOf('(') != -1 )
			originalTitle = originalTitle.substr(0,originalTitle.indexOf('('));

		if ( translatedTitle.indexOf('(') != -1 )
			translatedTitle = translatedTitle.substr(0,translatedTitle.indexOf('('));

		originalTitle = originalTitle.trim();
		translatedTitle = translatedTitle.trim();

		log("-Título original: " + originalTitle + " - Título traducido: " + translatedTitle);
		
		var titlediv = isAdmin ? table.getElementsByTagName('div')[2] : table.getElementsByTagName('div')[1];

		addLinkSites(titlediv, originalTitle, translatedTitle);
		log("-fin InterFilm");
	}

/*
	function doAddSearchEngine() {
		var se = d.createElement('link');
		se.rel = 'search';
		se.type = 'application/opensearchdescription+xml';
		se.href = 'htp://mycroft.mozdev.org/install.php/1913/filmaffinity_es.src',
		se.title = 'FilmAffinity (ES)';
		d.getElementsByTagName('head')[0].appendChild(se);
	}*/


	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");
	}

	
	function doAddExtraStats(totalCountries) {
		var tables = d.getElementsByTagName('TABLE');
		var table = null;
		for ( var i=tables.length-1; i>0; --i ) {
			if ( tables[i].textContent.search("Nº de críticas validadas:") > -1 ) {
				table = tables[i];
				break;
			}
		}

		var clon = table.rows[table.rows.length-2].cloneNode(true);
		clon.cells[0].textContent = "Nº de países diferentes:";
		clon.cells[1].innerHTML = "<b>"+totalCountries+"</b>";
		table.rows[table.rows.length-2].parentNode.insertBefore(clon, table.rows[table.rows.length-1]);
	}

/*	function doExtraStats( table ) {
		log(table.innerHTML);
		log(table.childNodes[1].childNodes.length);


		var xtraRow = d.createElement("TR");
		var xtraCell = d.createElement("TD");
		
		xtraCell.innerHTML="<h1>ExtraStats</h1>";

		xtraRow.appendChild(xtraCell);
		table.appendChild(xtraRow);
	}*/

	function doRemoveAds() {
		// borra banner superior
		var tmp = d.firstChild.childNodes[1].childNodes[1].childNodes[1].firstChild.childNodes[1];
		if ( tmp )
			tmp.removeChild(tmp.childNodes[1]);
		
		// borra banner de abajo, pelis y otros rollos para vender
		tmp = d.firstChild.childNodes[1].childNodes[3].childNodes[1].firstChild.childNodes[3].childNodes[1].childNodes[1].firstChild.childNodes[1];
		if ( tmp )
			tmp.removeChild(tmp.childNodes[12]);

		// publicidad lateral
		tmp = d.firstChild.childNodes[1].childNodes[3].childNodes[1].firstChild.childNodes[3].childNodes[1].childNodes[1].firstChild.childNodes[1].childNodes[5].childNodes[1].firstChild.childNodes[3].childNodes[1].childNodes[1];
		
		if ( tmp )
			tmp.removeChild(tmp.childNodes[22]);
	}


	function doAddForumLink() {
		log("Añadir sección Enlaces externos");
		var tables = d.getElementsByTagName('TABLE');
		var row;
		for ( var i=0; i<tables.length; ++i ) {
			if ( tables[i].textContent.search(/SECCIONES/g) > -1 )
				row = tables[i].parentNode.parentNode;
		}

		var newRow = document.createElement('TR');
		var newCell = document.createElement('TD');
		var newTable = document.createElement('TABLE');
		newTable.className = 'menu';
		newTable.setAttribute('style', 'background-color: #FFF; border: 0');
		newTable.setAttribute('cellpadding', '0');
		newTable.setAttribute('cellspacing', '0');
		
		var titleRow = document.createElement('TR');
		var titleCell = document.createElement('TD');
		titleCell.className = 'menutitle';
		titleCell.innerHTML = '<i>SECCIONES EXTERNAS</i>';

		var itemRow1 = document.createElement('TR');
		var itemCell1 = document.createElement('TD');
		itemCell1.className = 'menu';
		itemCell1.innerHTML = '<a href="http://filmaffinity.mforos.com" title="El foro que surgió de FilmAffinity" target="_blank">EL FORO QUE SURGIÓ DE FILMAFFINITY</a>'
		itemRow1.appendChild(itemCell1);
		
		var itemRow2 = document.createElement('TR');
		var itemCell2 = document.createElement('TD');
		itemCell2.className = 'menu';
		itemCell2.innerHTML = '<a href="http://www.irc-hispano.es/webchat/flash.php?canal=filmaffinity" title="Chat NO OFICIAL en iRC-Hispano" target="_blank">CHAT NO OFICIAL</a>'
		itemRow2.appendChild(itemCell2);

		var itemRow3 = document.createElement('TR');
		var itemCell3 = document.createElement('TD');
		itemCell3.className = 'menu';
		itemCell3.innerHTML = '<a href="http://www.lastfm.es/group/El+grupo+que+surgi%C3%B3+del+foro+que+surgi%C3%B3+de+Filmaffinity" title="El grupo de last.fm que surgió del foro que surgió de FilmAffinity" target="_blank">EL GRUPO DE LAST.FM QUE SURGIÓ DEL FORO QUE SURGIÓ DE FILMAFFINITY</a>'
		itemRow3.appendChild(itemCell3);

		titleRow.appendChild(titleCell);
		newTable.appendChild(titleRow);

		newTable.appendChild(itemRow1);
		newTable.appendChild(itemRow2);
		newTable.appendChild(itemRow3);

		newCell.appendChild(newTable);
		newRow.appendChild(newCell);

		row.parentNode.insertBefore(newRow, row.nextSibling);
		log("-añadida sección");
	}

	
	function doChangeRatingStyle() {
		log("Cambiar estilo de las puntuaciones");
		// esto da problemas si la película sólo está votada por 1 alma gemela, se parte la imagen
		// http://www.filmaffinity.com/es/film589794.html
		// http://www.filmaffinity.com/es/film743764.html
		// 
		GM_addStyle('td[width="140"] { width: 160px; }');
		GM_addStyle('.ratingimg { width: 16px; height: 16px; border: 0; margin: 0; padding: 0; }');
	
		var schema = getPreference('ratingStyle');
		log("--Cambiar estilo a: " + schema);
		if ( schema == 'default' || typeof schema == 'undefined' ) {
			log("--Sin cambios");
			return;
		}
	
		var imgs = document.getElementsByTagName('IMG');
		for ( i=0; i < imgs.length; ++i ) {
			if ( isRatingImg(imgs[i]) && !imgs[i].hasAttribute('id') ) { //solución temporal
				var rating = getRatingFromImg(imgs[i]);
				var j=0;
				while ( j < rating ) {
					changeImageRatingStyle(imgs[i], ratingStyles[schema].iconOn, rating);
					++j;
				}
	
				while ( j < 10 ) {
					changeImageRatingStyle(imgs[i], ratingStyles[schema].iconOff, rating);
					++j;
				}
				
				if ( imgs[i].hasAttribute('id') ) {
				//	imgs[i].setAttribute('style', 'display: none;');
				//	imgs[i].addEventListener('change', chang, true);
					}
				else
					imgs[i].parentNode.removeChild(imgs[i]);
			}
		}
		log("-fin cambiar estilo");
	}


	function doAddContriesFlags() {
		log("Añadir banderitas");
		var tables = d.getElementsByTagName('TABLE');
		var table = null;
		for ( var i=tables.length-1; i>0; --i ) {
			if ( tables[i].textContent.search('Mis votos por país') > -1 ) {
					table = tables[i];
					break;
				}
		}

		for ( var i=1; i<table.rows.length; ++i ) {
			var pais = getCountryCode(table.rows[i].cells[0].textContent);
			table.rows[i].cells[0].setAttribute('style',
			'padding-left: 20px; background: white url("http://www.filmaffinity.com/imgs/countries/'+pais+'.jpg") no-repeat scroll center left');
		}
		var countries = table.rows.length-1;
		log("-fin añadir banderitas. total="+countries);
		return countries;
	}


	function doAddFlagsToOptionsSel() {
		if ( isTopGen() )
			doAddFlagsToOptions(d.forms[1].elements[2]);
		else if ( isAdvSearch() )
			doAddFlagsToOptions(d.forms[1].elements[9]);
	}


	function doAddFlagsToOptions(o) {
		log("Añadir banderas a options");
		for ( var i=0; i<o.options.length; ++i ) {
			var flag = o.options[i].value;
			if ( flag == '' )
				continue;
			o.options[i].setAttribute('style', 'padding-left: 19px; background: transparent url("http://www.filmaffinity.com/imgs/countries/'+flag+'.jpg") no-repeat scroll center left');
		}

		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 changeImageRatingStyle(img, icon, rating) {
		var tmpimg = d.createElement('IMG');
		tmpimg.className = 'ratingimg';
		tmpimg.src = icon;
		tmpimg.alt = tmpimg.title = rating + ' - ' + ratings[rating];
		img.parentNode.appendChild(tmpimg);
	}

	function processSearch() {
		var divs = d.getElementsByTagName('DIV');
		var par;
		for ( var i=0; i < divs.length; ++i ) {
			if ( divs[i].textContent.indexOf('Resultados por título') != -1 ) {
				par = divs[i].parentNode.parentNode.parentNode;
				addLinkSites( par, d.forms[0].elements[0].value, d.forms[0].elements[0].value );
			}
		}

		// formulario
		var stype = url.substr(url.lastIndexOf('=')+1);
		var elem = d.forms[0].elements[1];
		for ( var i = 0; i<elem.options.length; ++i )
			if ( elem.options[i].value == stype ) {
				elem.selectedIndex=i;
				break;
			}

		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/');
	}

//showPreferences(); return;

//******************************************

	var date = new Date();
	log('Inicio ('+date+')');
	log(navigator.userAgent);
	log(appName + ' ' + appVersion);

	GM_registerMenuCommand('Configurar ' + appName + ' ' + appVersion + '...', showPreferences);

	log("¿Admin? " + isAdmin);

	if ( url.search(/\/filter\.php/ig) > -1 ) {
		return;
	}


	//doAddSearchEngine(); //no funciona xq los buscadores debe de buscarlos segun carga
	//doInterFilm();
	addFAPBar();



	if ( isMyFriends() ) {
	/*	if ( isAdmin )
			doRatingChange( d.getElementsByTagName('table')[19] );
		else
			doRatingChange( d.getElementsByTagName('table')[17] );*/
		var tables = document.getElementsByTagName('table');
		for ( var i=tables.length-1; i>0; --i ) {
			if ( tables[i].textContent.search('Nombre/Nick') > -1 ) {
				doRatingChange ( tables[i] );
				break;
			}
		}
	}

	if ( isFilm() ) {
		if ( isAdmin )
			doInterFilm( d.getElementsByTagName('table')[16] );
		else
			doInterFilm( d.getElementsByTagName('table')[15] );
	}

	if ( !isMyData() )
		doChangeRatingStyle();

	if ( isStats() )
		doExtraStats( d.getElementsByTagName('table')[16] );

	if ( isSearch() ) {
		processSearch();
		doChangeRatingStyle();
	}
	
	if ( isMyData() ) {
		doAddExtraStats( doAddContriesFlags() );
	}
	
	if ( isTopGen() || isAdvSearch() ) {
		doAddFlagsToOptionsSel();
	}

	doAlt2Title();
	doAddForumLink();
	doFixEnglishLink();
	//doRemoveAds();
	/*
	GM_xmlhttpRequest({
		method: 'GET',
		url: 'http://petra.euitio.uniovi.es/~i1656488/scripts/FilmAffinityPlus.version',
		onload: function(responseDetails) {
			if ( responseDetails.status != 200 )
				return;
			var version = responseDetails.responseText;
			if ( version != appVersion ) {
				if ( confirm('¡Nueva versión disponible!\nSe ha publicado la versión ' + version + ', y actualmente está usando la versión ' + appVersion + '.\n\n¿Desea actualizarse a la nueva versión?') )
					document.location.href = 'http://petra.euitio.uniovi.es/~i1656488/scripts/FilmAffinityPlus.user.js';
			}
		}
	});*/

	log("Fin ("+date+")");

}, false);



