// ==UserScript==
// @name Planetromeo Gayromeo Filter
// @namespace gayromeo
// @description Listen-Suchergebnisse filtern/Filter Search Result Lists
// @version $Revision: 2.13 $
// @date $Date: 2013/08/08 12:00:00 $
// @author burke67 <burke67@hotmail.com>
// @include http*://*gayromeo.com/*search/*?action=*&searchType=*
// @include http*://*gayromeo.com/*main/index.php
// @include http*://*gayromeo.com/*main/top.php
// @exclude http*://*gayromeo.com/*search/*?action=showForm&searchType=*
// @exclude http*://*gayromeo.com/*search/*?action=*&searchType=advert*
// @exclude http*://*gayromeo.com/*search/*?action=editBlank*
// @include http*://*gayromeo.com/*search/*?action=executeSaved&savedSearchId*
// @include http*://*gayromeo.com/*search/*?action=showPage&searchType=userDetail&searchResultId*
// @include http*://*planetromeo.com/*search/*?action=*&searchType=*
// @include http*://*planetromeo.com/*main/index.php
// @include http*://*planetromeo.com/*main/top.php
// @exclude http*://*planetromeo.com/*search/*?action=showForm&searchType=*
// @exclude http*://*planetromeo.com/*search/*?action=*&searchType=advert*
// @exclude http*://*planetromeo.com/*search/*?action=editBlank*
// @include http*://*planetromeo.com/*search/*?action=executeSaved&savedSearchId*
// @include http*://*planetromeo.com/*search/*?action=showPage&searchType=userDetail&searchResultId*
// @include http*://83.98.143.20/*search/*?action=*&searchType=*
// @include http*://83.98.143.20/*main/index.php
// @include http*://83.98.143.20/*main/top.php
// @exclude http*://83.98.143.20/*search/*?action=showForm&searchType=*
// @exclude http*://83.98.143.20/*search/*?action=*&searchType=advert*
// @exclude http*://83.98.143.20/*search/*?action=editBlank*
// @include http*://83.98.143.20/*search/*?action=executeSaved&savedSearchId*
// @include http*://83.98.143.20/*search/*?action=showPage&searchType=userDetail&searchResultId*
// ==/UserScript==
/*
* Planetromeo-/Gayromeo-Filter * http://userscripts.org/scripts/show/55040
*/
var version="V2.13";
var lang="DE";
var urhost=window.location.host;
/* Versionsübersicht ---
* V2.13- 2013-08-08 - Link auf Profil burke67 korrigiert (Danke an: -Djamana-)
* V2.12- 2013-07-10 - Schnellschalter geändert: für reguläre Ausdrücke
* V2.11- 2013-06-02 - Schnellschalter in Optionenzeile, ausgegraute gefilterte User/Länder werden durchgestrichen angezeigt
* V2.10- 2013-05-22 - QuickFix nach Update von GRT 3.06
* V2.9 - 2012-05-29 - QuickFix: Sprachauswahl funktioniert nun wieder
* V2.8 - 2012-04-14 - an neue Taps-Größe angepasst
* V2.7 - 2012-01-21 - "? km / ? mi"-Teasereintrag für nicht-PLUS-User entfernen, an FF10 angepasst (intern: Options hinzufügen nun nicht mehr direkt, sondern mittels add)
* V2.6a- 2011-11-20 - Werbebanner in Usersuchen ausblenden (nur nicht-PLUS-User), Sprachabfrage neu
* V2.6 - 2011-10-25 - Sprachabfrage über top.php/GR-Variable (Anpassung an Neudesign nach Radar), Sucht-mein-Alter-Abfrage (nur PLUS-User),
kleinere Fehlerkorrekturen, Ajax-Abfragen am aktuellen Host, überlange Profilbilder in Liste verkleinern
* V2.5 - 2011-04-15 - Ausgrauen bei Optionsdialogen, entfernt "Am/At" vor letztem Besuchszeitpunkt, ID-Suche angepasst
Optionen: Verstecken oder Ausgrauen, dabei Tapse immer anzeigen, ausgrauen oder doch verstecken,
Anwendung auch auf PLUS-Bildersuche (ausgrauen), neue Icons, Dialoge leicht geändert, Codeoptimierungen
* V2.4 - 2011-03-22 - FireFox-4-Anpassungen, kleinere Änderungen (Ländernamen, alle Länder löschen), Quelltext komprimiert
* V2.3 - 2011-02-12 - Erkennung der Sprache verbessert, Support-Link hinzugefügt
* V2.2 - 2011-01-03 - auf alle Listen-Suchergebnisse anwenden (@includes vereinfacht), Länderbezeichnungen angepasst
Vorschläge eingearbeitet: English translation, Einstellungen-Export/-Import, Besucher mit Tapsen werden immer angezeigt
Reg.Ausdrücke korrigiert; Versteckalgorithmus angepasst
* V2.1 - 2010-09-13 - Messageverlauf versteckt aufrufen: ungelesene Messages öffnen und Userprofil versteckt speichern;
(intern: neuer Updatemechanismus)
* V2.0 - 2010-06-30 - (reguläre) Filterausdrücke möglich samt zugehörigem Änderungsdialog, Versteckalgorithmus geändert
* V1.9c- 2010-05-11 - (intern) @include-Zeilen angepasst, auf neues GR-Design angepasst
* V1.9b- 2010-04-26 - (intern) geänderter Versionscheck
* V1.9a- 2010-03-29 - Versionscheck, Dialogabfrage mit entsprechenden Download/Installation,
* Icons nicht mehr hinterm Namen (lange Namen besser angezeigen) sondern in Alter-Spalte
* V1.8 - 2009-12-16 - neue @include-Zeilen, Änderungen/Ergänzungen in Filter-ID-/Filter-Länder-Dialogfenstern
* V1.7a- 2009-10-30 - zwei "Dialogfenster" zur manuellen Anpassung der zu filternden Länder und IDs
* V1.6 - 2009-10-08 - nötige Anpassung an neues Gayromeo-HTML-Format
* V1.5 - 2009-09-09 - weiterer Link: User anonym speicher-/blockierbar, [.]-Umschaltlinks durch gr-Bilder ersetzt
* andere Suchansichten (Detailsuche, Online-Stadt, Online-Region) hinzugenommen
* V1.4 - 2009-08-xx - IP-Adresse zum @include hinzugenommen
* V1.3 - 2009-08-11 - Konfiguration komplett über Links (keine Menübefehle mehr)
* V1.2 - 2009-08-10 - Id-Filterung, Ein-Aus-Schalter, Konfigurationsspeichern, Filter zurück- und setzbar
* V1.1 - 2009-08-04 - alle Länder aufgeführt
* V1.0 - 2009-08-04 - Rohversion
*/
function o(w){var t=document.getElementById(w); return t;}
function oo(w) {var t=document.getElementsByTagName(w); return t;}
function ooo(w,x) {o(w).style.display=((x==0)?'none':'block');}
function ael(obj,f) {o(obj).addEventListener('click',f,false);}
var loc=document.location.href;
var ppage=loc.indexOf("searchType=picture")>-1;
if (loc.indexOf("main/index.php")>-1) { // Updatecheck bei Login
if (o('pgWe')!=null) {
qtext=oo('body')[0].innerHTML;
lang=(qtext.search(/Benutzerlogin/)>-1)?"DE":"EN";
function copyversion(xx) {
var x=xx.responseText;
if (xx.status==200) {
erg=x.indexOf('GRLF ');
neueversion="V"+x.slice(erg+13,erg+17);
if (version<neueversion) {
check=confirm((lang=="DE")?'PlanetRomeo-/GayRomeo-Filter '+version+' (c)burke67\n\nEINE NEUE VERSION '+neueversion+' IST JETZT VERFÜGBAR!\n\nWenn du sie jetzt herunterladen und installieren willst, klicke auf "OK".\nWählst du "Abbrechen", wirst du beim nächsten Anmelden wieder informiert.':'PlanetRomeo-/GayRomeo-Filter '+version+' (c)burke67\n\nA NEW RELEASE '+neueversion+' IS NOW AVAILABLE!\n\nIf you want to download and install it now, click "OK".\n If you choose "Cancel", you will be asked again at your next login.');
if (check) window.open("http://userscripts.org/scripts/source/55040.user.js","_blank");
// http://burke67.yolasite.com/grlfupdate.php
}
}
};
GM_xmlhttpRequest({
method: 'GET',
url: 'http://burke67.yolasite.com',
headers: {Accept: 'text/plain'},
onload: function(data) { copyversion(data); }
});
}
return; // wichtig
}
/* sessionId in Dokument suchen, wird für AJAX-Abfragen benötigt */
expr=/\/(\w{32})\//;
atemp=expr.exec( document.location );
sessionId=(atemp)?atemp[1]+"/":"";
var lang;
var onoff;
//var continents = { 1:{"DE":"Europa","EN":"Europe"}, 2:{"DE":"Afrika","EN":"Africa"}, 3:{"DE":"Südamerika","EN":"South America"}, 4:{"DE":"Nordamerika","EN":"North America"}, 5:{"DE":"Asien","EN":"Asia"}, 6:{"DE":"Australien & Ozeanien","EN":"Australia & Oceania"}, 8:{"DE":"Naher Osten","EN":"Middle East"}, 9:{"DE":"Mittelamerika","EN":"Central America"} };
if (loc.indexOf("main/top.php")>-1) { // Sprach-/Ländercheck
if (oo('body')[0].innerHTML.search(/<span class="display">Deutsch/)>-1) lang="DE"; else lang="EN";
var oldclang = GM_getValue('GR_LF_clang',"");
GM_setValue('GR_LF_lang', (lang=="DE"?"DE":"EN"));
var now = new Date();
function gett(url) {
GM_xmlhttpRequest({
method: "GET",
url: url,
onload: function(xhr) {
var llist = "{";
var clist = "[";
var oldc = GM_getValue('GR_LF_countries', "");
var need = (oldc!="");
expr=/<script language="JavaScript">([^<]+)function/m;
atemp=expr.exec(xhr.responseText);
eval(atemp[1]);
for (var cc=1; cc<10; cc++) {
if (cc==7) continue; // gibt es nicht
for (var c=cc*100+1; c<cc*100+100; c++) {
if (country[cc][c]) {
llist+="\""+c+"\":\""+country[cc][c]+"\",";
if (need) if (oldc.indexOf(country[cc][c])>-1) clist+=c+",";
}
}
}
if (need) {
clist=clist.substring(0,clist.length-1)+"]";
// GM_log( clist );
// GM_setValue('GR_LF_cnmbrs', clist);
// GM_setValue('GR_LF_countries', "");
// IDs konvertieren
tempo = GM_getValue('GR_LF_ids', "").replace(/%0#/g,"").replace(/#/g,",");
// GM_log( tempo );
// GM_setValue('GR_LF_ids', tempo);
}
llist=llist.substring(0,llist.length-1)+"}";
// GM_log( llist );
// GM_setValue('GR_LF_allcs', llist);
// GM_setValue('GR_LF_clang', lang);
// GM_setValue('GR_LF_lcheck', Number(now).toString() );
}
});
}
// GM_log( now-GM_getValue('GR_LF_lcheck', 0) );
// GM_log( oldclang+" "+lang );
//if ((now-GM_getValue('GR_LF_lcheck', 0)>86400000) || (oldclang!=lang))
// gett("http://www.gayromeo.com/"+sessionId+"search/?action=showForm&searchType=userDetail");
return; // wichtig;
}
qtext=oo('body')[0].innerHTML;
lang=GM_getValue('GR_LF_lang',"DE");
/* globaler Zähler count, zählt im Hintergrund abgeschlossene AJAX-Abfragen ID->Name */
var count=0;
/* Ergebnistest-Funktion nach einer AJAX-Abfrage */
/* txt: Antwort der AJAX-Abfrage, ein HTML-Dokument */
/* expr: auf Antwort anzuwendender regulärer Ausdruck */
/* v: Name */
/* z: Index der Option in Selectbox (dort ist eine ID) */
/* entweder v oder z sind null, genau eins von beiden */
function workxhr(txt,expr,v,z) {
var opt; /* zum Anlegen einer neuen Option */
var w=expr.exec(txt); /* Ausdruck auf Antwort anwenden */
if (z!=null) { count++; } /* bei ID->Name-Abfrage Zähler erhöhen */
if (w) { /* falls der Ausdruck gepasst hat */
if (v) { /* entweder */
/* erst prüfen, ob diese ID schon eingetragen ist, evtl. Hinweis und fertig */
for (var n=0; n<o('grlfsi').length;n++) {
if (o('grlfsi').options[n].value==w[1]) {
alert((lang=="de")?"'"+v+"' wird bereits gefiltert!":"'"+v+"' already filtered!");
switchElems(false);
return;
}
}
/* (ID wird noch nicht gefiltert:) */
/* und neue Option in Selectbox einfügen */
opt=new Option(v,w[1],false,false);
o('grlfsi').add(opt);
o('grlfii').value="";
} else {
/* oder ID in Namen umändern */
o('grlfsi').options[z].text=w[1];
}
}
/* bei Name-Abfrage oder wenn alle Options abgearbeitet wurden */
if (z!=null&&count<o('grlfsi').length) {
tmpo=(o('grlfsi').length-count);
o('grlfiz').value=(lang=="DE")?"...suche\nnoch "+tmpo+" IDs...":"...decoding\n"+tmpo+" IDs...";
}
if (z==null||(count>=o('grlfsi').length)) {
switchElems(false); /* gesperrten Dialog wieder freigeben */
o('grlfiz').value=(lang=="DE")?"ID wieder\nanzeigen":"show ID\nagain"; } /* und Knopfbezeichnung ändern */
}
/* AJAX-Abfrage ID->Name oder Name->ID */
/* per GM-Abfrage, ruft URL auf, restliche Parameter werden an Erbnistest-Funktion weitergegeben */
function get(url, expr, cb, v, z) {
GM_xmlhttpRequest({
method: "GET",
url: url,
onload: function(xhr) { cb(xhr.responseText,expr,v,z); }
});
}
var myage=GM_getValue('GR_LF_myage', "");
window['GR_LF_myage']=myage;
var mstate=GM_getValue('GR_LF_mstate', false);
window['GR_LF_mstate']=mstate;
var nstate=GM_getValue('GR_LF_nstate', false);
window['GR_LF_nstate']=nstate;
var mistate=GM_getValue('GR_LF_mistate', true);
window['GR_LF_mistate']=mistate;
var nistate=GM_getValue('GR_LF_nistate', true);
window['GR_LF_nistate']=nistate;
window['GR_LF_must']=GM_getValue('GR_LF_must', "");
window['GR_LF_nogo']=GM_getValue('GR_LF_nogo', "");
onoff=GM_getValue('GR_LF_ONOFF',true);
function nmTooltip() {
var a=" ";
var mi=(mistate)?"(A=a)":"";
var ni=(nistate)?"(A=a)":"";
if (mstate) a=((lang=="DE")?"MUSS":"MUST")+mi+": " + window['GR_LF_must'] + " ";
if (nstate) a+=((lang=="DE")?"NICHT":"NOT")+ni+": " + window['GR_LF_nogo'] + " ";
if (myage!='') a+=((lang=="DE")?"ALTER(":"AGE(")+window['GR_LF_myage']+") ";
return a;
}
var defaultFilter="%0";
var aCArr=new Array(
'Ägypten','Algerien','Angola','Äquatorialguinea','Äthiopien','Benin','Botswana','Burkina Faso','Burundi','Dem. Rep. Kongo','Dschibuti','Elfenbeinküste','Eritrea','Gabun','Gambia','Ghana','Guinea','Guinea-Bissau','Kamerun','Kap Verde','Kenia','La Réunion (FR)','Lesotho','Liberia','Libyen','Madagaskar','Malawi','Mali','Marokko','Mauretanien','Mauritius','Mosambik','Namibia','Niger','Nigeria','Republik Kongo','Ruanda','Sambia','Sao Tomé and Principe','Senegal','Seychellen','Sierra Leone','Simbabwe','Somalia','Südafrika','Sudan','Swasiland','Tansania','Togo','Tschad','Tunesien','Uganda','Zentralafrikanische Republik',
'Afghanistan','Armenien','Aserbaidschan','Bangladesch','Bhutan','Brunei','China','Georgien','Indien','Indonesien','Japan','Kambodscha','Kasachstan','Kirgisien','Laos','Malaysia','Malediven','Mongolei','Myanmar','Nepal','Nordkorea','Osttimor','Pakistan','Philippinen','Singapur','Sri Lanka','Südkorea','Tadschikistan','Taiwan','Thailand','Turkmenistan','Usbekistan','Vietnam',
'Australien','Cook Inseln','Fidschi','Franz. Polynesien','Marshallinseln','Mikronesien','Nauru','Neukaledonien [FR]','Neuseeland','Palau','Papua-Neuguinea','Salomonen','Samoa','Tonga','Tuvalu','Vanuatu',
'Albanien','Andorra','Belgien','Bosnien-Herzegowina','Bulgarien','Dänemark','Deutschland','Estland','Finnland','Frankreich','Griechenland','Vereinigtes Königreich','Irland','Island','Italien','Kosovo','Kroatien','Lettland','Litauen','Luxemburg','Malta','Mazedonien (fYRoM)','Moldawien','Montenegro','Niederlande','Norwegen','Österreich','Polen','Portugal','Rumänien','Russland','San Marino','Schweden','Schweiz','Serbien','Slowakei','Slowenien','Spanien','Tschechien','Türkei','Ukraine','Ungarn','Vatikan','Weißrussland','Zypern',
'Antigua und Barbuda','Aruba','Bahamas','Barbados','Belize','Bermuda','Cayman Islands (UK)','Costa Rica','Curacao (NL)','Dominica','Dominikanische Republik','El Salvador','Grenada','Guadeloupe (FR)','Guatemala','Haiti','Honduras','Jamaika','Jungferninseln','Kuba','Martinique (FR)','Nicaragua','Panama','Puerto Rico','St. Kitts und Nevis','St. Lucia','St. Martin (NL)','St. Vincent & Grenadinen','Trinidad und Tobago',
'Bahrein','Irak','Iran','Israel','Jemen','Jordanien','Katar','Kuwait','Libanon','Oman','Palästina - Selbstverwaltung','Saudi-Arabien','Syrien','Vereinigte Arabische Emirate',
'Kanada','Mexiko','USA',
'Argentinien','Bolivien','Brasilien','Chile','Ecuador','Guyana','Guyane (FR)','Kolumbien','Paraguay','Peru','Surinam','Uruguay','Venezuela');
var aCArrEn=new Array(
'Egypt','Algeria','Angola','Equatorial Guinea','Ethiopia','Benin','Botswana','Burkina Faso','Burundi','Dem. Republic of the Congo','Djibouti','Ivory Coast','Eritrea','Gabon','Gambia','Ghana','Guinea','Guinea-Bissau','Cameroon','Cape Verde','Kenya','Réunion','Lesotho','Liberia','Libya','Madagascar','Malawi','Mali','Morocco','Mauritania','Mauritius','Mozambique','Namibia','Niger','Nigeria','Republic of the Congo','Rwanda','Zambia','São Tomé and Príncipe','Senegal','Seychelles','Sierra Leone','Zimbabwe','Somalia','South Africa','Sudan','Swaziland','Tanzania','Togo','Chad','Tunisia','Uganda','Central African Republic',
'Afghanistan','Armenia','Azerbaijan','Bangladesh','Bhutan','Brunei','China','Georgia','India','Indonesia','Japan','Cambodia','Kazakhstan','Kyrgyzstan','Laos','Malaysia','Maldives','Mongolia','Myanmar','Nepal','NorthKorea','Timor-Leste','Pakistan','Philippines','Singapore','Sri Lanka','South Korea','Tajikistan','Taiwan','Thailand','Turkmenistan','Uzbekistan','Vietnam',
'Australia','Cook Islands','Fiji','French Polynesia','Marshall Islands','Micronesia','Nauru','New Caledonia (FR)','New Zealand','Palau','Papua New Guinea','Solomon Islands','Samoa','Tonga','Tuvalu','Vanuatu',
'Albania','Andorra','Belgium','Bosnia and Herzegovina','Bulgaria','Denmark','Germany','Estonia','Finland','France','Greece','United Kingdom','Ireland','Iceland','Italy','Kosovo','Croatia','Latvia','Lithuania','Luxembourg','Malta','Macedonia (fYRoM)','Moldova','Montenegro','Netherlands','Norway','Austria','Poland','Portugal','Romania','Russia','San Marino','Sweden','Switzerland','Serbia','Slovakia','Slovenia','Spain','Czech Republic','Turkey','Ukraine','Hungary','Vatican City','Belarus','Cyprus',
'Antigua and Barbuda','Aruba','Bahamas','Barbados','Belize','Bermuda','Cayman Islands (UK)','Costa Rica','Curacao (NL)','Dominica','Dominican Republic','El Salvador','Grenada','Guadeloupe (FR)','Guatemala','Haiti','Honduras','Jamaica','Virgin Islands','Cuba','Martinique (FR)','Nicaragua','Panama','Puerto Rico','Saint Kitts and Nevis','Saint Lucia','St. Maarten (NL)','SaintVincent & Grenadines','Trinidad and Tobago',
'Bahrein','Iraq','Iran','Israel','Yemen','Jordan','Qatar','Kuwait','Lebanon','Oman','Palestinian Authority','Saudi Arabia','Syria','United Arab Emirates',
'Canada','Mexico','USA',
'Argentina','Bolivia','Brazil','Chile','Ecuador','Guyana','Guyane (FR)','Colombia','Paraguay','Peru','Suriname','Uruguay','Venezuela'
);
var aCAss=new Object();
for (var n=0; n<aCArr.length; n++)
aCAss[ aCArr[n] ]=1;
var elems=new Array('af','as','au','eu','ma','no','na','sa','grlfls');
var sidxs=new Array(1,55,89,106,152,183,197,201);
var eidxs=new Array(53,87,104,150,181,195,199,213);
var state=GM_getValue('GR_LF_state', true);
window['GR_LF_state']=state;
var newstate=GM_getValue('GR_LF_newstate', (window['GR_LF_state'])?3:0 );
window['GR_LF_newstate']=newstate;
window['GR_LF_state']=(window['GR_LF_newstate']==0)?false:true;
window['GR_LF_onlyger']=GM_getValue('GR_LF_onlyger', false);
for (var i=0; i<=7; i++)
window['GR_LF_'+elems[i]]=GM_getValue('GR_LF_'+elems[i], false);
function s_F(key, reset) {
value=(reset) ? defaultFilter : window[key];
GM_setValue(key, value);
if (reset) location.reload();
}
window["GR_LF_countries"]=GM_getValue("GR_LF_countries", defaultFilter);
window["GR_LF_countries"]=window["GR_LF_countries"].replace(/#undefined/g,"").replace(/#%0/g,"");
var fCArr=window["GR_LF_countries"].split('#');
var fCAss=new Object();
for (var n=0; n<fCArr.length; n++)
fCAss[ fCArr[n] ]=1;
var CTrans=new Object();
var ULand=new Object();
for (var n=0; n<aCArr.length; n++) {
if (lang=="DE")
{ CTrans[ aCArr[n] ]=aCArr[n];
ULand[ aCArr[n] ]=aCArr[n]; }
else
{ CTrans[ aCArrEn[n] ]=aCArr[n];
ULand[ aCArr[n] ]=aCArrEn[n]; }
}
// fIdArr direkt aus Variable
window["GR_LF_ids"]=GM_getValue("GR_LF_ids", defaultFilter);
var fIdArr=window["GR_LF_ids"].split('#');
//var fIdArr = eval( "["+GM_getValue('GR_LF_ids',"")+"]" );
var fIdAss=new Object();
for (var n=0; n<fIdArr.length; n++)
fIdAss[ fIdArr[n] ]=1;
loc=document.location;
param=decodeURIComponent(loc.search);
loc=loc.href;
if (param.length>0) {
posi=param.search(/&ac=/);
if (posi>-1) {
land=param.substr(posi+4);
loc=loc.substr(0,loc.length-land.length-4);
fCAss[ land ]=1;
window["GR_LF_countries"]+="#"+land;
GM_setValue("GR_LF_countries", window["GR_LF_countries"]);
}
posi=param.search(/&dc=/);
if (posi>-1) {
land=param.substr(posi+4);
loc=loc.substr(0,loc.length-land.length-4);
fCAss[ land ]=0;
neus=defaultFilter;
stemp=window["GR_LF_countries"].split('#');
for (var i=0; i<=stemp.length; i++) {
if (stemp[i]!=land)
neus+="#" + stemp[i];
}
window["GR_LF_countries"]=neus;
GM_setValue("GR_LF_countries", window["GR_LF_countries"]);
}
posi=param.search(/&ai=/);
if (posi>-1) {
numb=""+param.substr(posi+4);
loc=loc.substr(0,loc.length-numb.length-4);
fIdAss[ numb ]=1;
window["GR_LF_ids"]+="#"+numb;
GM_setValue("GR_LF_ids", window["GR_LF_ids"]);
}
posi=param.search(/&di=/);
if (posi>-1) {
numb=""+param.substr(posi+4);
loc=loc.substr(0,loc.length-numb.length-4);
fIdAss[ numb ]=0;
neus=defaultFilter;
stemp=window["GR_LF_ids"].split('#');
for (var i=0; i<=stemp.length; i++) {
if (stemp[i]!=numb)
neus+="#" + stemp[i];
}
window["GR_LF_ids"]=neus;
GM_setValue("GR_LF_ids", window["GR_LF_ids"]);
}
}
function resetIds() {
if (confirm((lang=="DE")?"Wirklich alle ID(!)-Filter zurücksetzen?":"Really reset all ID(!)-filters?")) {
rI();
document.location.href=loc;
}
}
function rI() {
s_F("GR_LF_ids", true);
}
function resetCountries() {
if (confirm((lang=="DE")?"Wirklich alle Länder(!)-Filter zurücksetzen?":"Really reset all country(!)-filters?")) {
rC();
document.location.href=loc;
}
}
function rC() {
s_F("GR_LF_countries", true);
for (i=0; i<=7; i++)
window['GR_LF_'+elems[i]]=GM_getValue('GR_LF_'+elems[i], true);
}
function resetAll() {
if (confirm((lang=="DE")?"Wirklich alle ID(!)-Filter zurücksetzen?":"Really reset all ID(!)-filters?")) {
rA();
document.location.href=loc;
}
}
function rA() {
rI();
rC();
window["GR_LF_must"]=false;
window["GR_LF_nogo"]=false;
}
function submitCountryForm() {
ooo('grlfld',0);
if (this.name=="grlflb") {
window["GR_LF_countries"]=defaultFilter;
for (var i=0; i<o('grlfls').length; i++) {
if (o('grlfls').options[i].selected)
window["GR_LF_countries"]=window["GR_LF_countries"] + "#" + o('grlfls').options[i].value;
}
GM_setValue("GR_LF_countries", window["GR_LF_countries"]);
GM_setValue("GR_LF_onlyger", window["GR_LF_onlyger"]);
for (i=0; i<=7; i++)
GM_setValue("GR_LF_"+elems[i], window["GR_LF_"+elems[i]]);
}
if (loc) document.location.href=loc; else location.reload();
}
function justGermany() {
var obj=o('nurd');
for (var elem in elems)
o(elems[elem]).disabled=obj.checked;
window["GR_LF_onlyger"]=obj.checked;
}
function justContinent() {
var caller=this.name;
window["GR_LF_"+elems[caller]]=o(elems[caller]).checked;
var newval=(o(elems[caller]).checked);
for (var idx=sidxs[caller]; idx<=eidxs[caller]; idx++) {
o('grlfls').options[idx].selected=newval;
}
}
var donLink=""; //=(lang=="DE") ? "<a href=\"http://burke67.yolasite.com/listenfilter.php\" target=\"_blank\" style='color:#89f' title='GR-Listenfilter unterstützen'>[...€?]</a>" : "<a href=\"http://burke67.yolasite.com/listenfilter.php\" target=\"_blank\" style='color:#89f' title='Support GR List Filter'>[...€?]</a>";
var donTxt=""; //=(lang=="DE") ? "<br /><span style='color:#89f;'> Gefällt dir der Filter?<br /> Unterstütze die Weiterentwicklung: </span>"+donLink : "<br /><span style='color:#89f'> Do you like this filter?<br /> Support its future development: </span>"+donLink;
var onTxt=(lang=="DE")? ((onoff==true)?'AN':'AUS') : ((onoff==true)?'ON':'OFF');
var aboutTxt = '<p style="margin-top:5px; padding:2px; border-top:2px solid yellow; color: yellow">Planetromeo Gayromeo Filter '+version+' ('+onTxt+')<br />http://userscripts.org/scripts/show/55040<br />© 2011 → <a href=\"/auswertung/setcard/?set=3420497\" onClick=\"return openUrl(this.href);\">burke67</a></p>';
var hstyle='style="color:white; background-color:#547fdb; padding:3px; font-weight:bold;"';
function dstyle(w,h) { return 'style="display:none; position:absolute; width:'+w+'px; height:'+h+'px; background-color:#305ab1; border:2px solid yellow; -moz-border-radius:8px; padding:4px; font-size:small; z-index:9999;"'; }
var astyle='style="font-size:xx-small;resize:none;background-color:#ccc;-moz-border-radius:4px;"';
function arb(i,l) { return '<input type="radio" name="grlonoff" id="grlonoff'+i+'" value="'+i+'"> <label for="grlonoff'+i+'">'+l+'</label><br />'; }
oo('body')[0].innerHTML.replace( /<div style="text-align:center; vertical-align:middle;">/g,
'<div style="text-align:center; vertical-align:middle; display:none;">');
oo('body')[0].innerHTML=(lang=="DE")?
oo('body')[0].innerHTML.replace( /body>/ ,
'body>'
+'<div id="grlgray" style="position:fixed;left:0;top:0;width:100%;height:100%;background:#000 none;opacity:0.7;z-index:5000}"></div>'
+'<div id="grlfld" '+dstyle(330,445)+'>'
+ '<p '+hstyle+'>Zu filternde Länder (sortiert nach Kontinenten):</p><p>Mehrere Länder auswählbar, daher beim Auswählen oder Entfernen jeweils die <span style="text-decoration:underline;">Strg- / Ctrl-Taste gedrückt halten!</span></p><p>'
+ ' <select id="grlfls" size="18" multiple style="width:200px;"></select>'
+ ' </p><p><input type="checkbox" id="nurd"> <label for="nurd"><b>alles filtern außer Deutschland</b></label><br /><input type="checkbox" id="eu" name="3"> <label for="eu">Europa</label><br /><input type="checkbox" id="af" name="0"> <label for="af">Afrika</label> <input type="checkbox" id="as" name="1"> <label for="as">Asien</label> <input type="checkbox" id="au" name="2"> <label for="au">Australien & Ozeanien</label><br /><input type="checkbox" id="ma" name="4"> <label for="ma">Mittelamerika</label> <input type="checkbox" id="no" name="5"> <label for="no">Naher Osten</label><br /><input type="checkbox" id="na" name="6"> <label for="na">Nordamerika</label> <input type="checkbox" id="sa" name="7"> <label for="sa">Südamerika</label> <input id="grlflb" name="grlflb" type="button" value=" Ok "> <input id="grlflx" name="grlflx" type="button" value="Abbruch"><br />'+donTxt+'</p></div>'
+ '<div id="grlfli" '+dstyle(330,445)+'>'
+ '<p '+hstyle+'>Gefilterte IDs:</p><p>Bitte etwas warten, das System sucht zuerst zu den IDs die passenden Usernamen, danach lassen sich diese mit dem <span style="text-decoration:underline;">\'ID wieder anzeigen\'</span>-Knopf aus dem Filter herausnehmen, werden also wieder normal angezeigt.</p><p>'
+ ' <select id="grlfsi" size="18" style="width:200px;"></select> <input id="grlfiz" name="grlfiz" type="button" value="ID wieder\nanzeigen " style="vertical-align:top;"></p>'
+ '<p><b>Username neu zum Filter hinzufügen:</b></p><p>'
+ ' <input id="grlfii" name="grlfii" type="text" size="36"> <input id="grlfip" name="grlfip" type="button" value=" filtern "></p><p>'
+ ' <input id="grlfbi" name="grlfbi" type="button" value=" Ok "> <input id="grlfix" name="grlfix" type="button" value="Abbruch"><br />'+donTxt+'</div>'
+ '<div id="grlfex" '+dstyle(450,415)+'>'
+ '<p '+hstyle+'>Nach Ausdrücken filtern:</p><p>'
+ ' <input type="checkbox" id="grlfem"> <label for="grlfem"><b style="color:#40ff40">Dies MUSS vorkommen:</b></label> <b> </b> <input type="checkbox" id="grlfemi"> <label for="grlfemi"><b>ABC=abc</b></label><br />'
+ ' <textarea id="grlfemt" name="grlfemt" cols="57" rows="2" style="background-color:#80ff80;resize:none"></textarea></p><p>'
+ ' <input type="checkbox" id="grlfen"> <label for="grlfen"><b style="color:#ff8080">Dies DARF NICHT vorkommen:</b></label> <input type="checkbox" id="grlfeni"> <label for="grlfeni"><b>ABC=abc</b></label><br />'
+ ' <textarea id="grlfent" name="grlfent" cols="57" rows="2" style="background-color:#ff8080;resize:none"></textarea></p><p>'
+ ' <b>Nur PLUS-User:</b> <b style="color:#ff0;">Nur User zeigen, die mein Alter (<input type="text" size="1" maxlength="2" id="grlfea" style="background:#3060ff; color:#ff0; border-width:0px 0px 1px; border-style:dashed; text-align:center; font-weight:bold;">) suchen.</b></p><p style="margin:1em;">'
+ '<input id="grlfei" name="grlfei" type="button" value=" Ok "> <input id="grlfer" name="grlfer" type="button" value="Abbruch"></p><p style="margin-left:4px;">'
+ 'Eine ausführliche Hilfe findest du auf der <a href="http://userscripts.org/scripts/show/55040" target="blank">Filterhomepage</a>.<br /> Alternative Begriffe durch () Klammern und durch | trennen, Leerzeichen durch . ersetzen. Wer will, kann echte reguläre Ausdrücke angeben. Gefiltert wird nur bei gesetztem Häkchen. Die Filter werden auf alle aufgelisteten Angaben eines Users angewendet. Wird ABC=abc angehakt, wird Groß- und Kleinschreibung ignoriert. Beim Filter-Reset werden nur die Filterhäkchen entfernt, nicht die Ausdrücke gelöscht.<br />Bei Angabe deines Alters (sinnvolle Eingabe 18-99) werden alle User ausfiltert, die nicht nach deinem Alter suchen. Dies ist nur für PLUS-User sinnvoll, die diese Information auch in der Userliste anzeigen lassen. Möchtest du eine solche zusätzliche Filterung nicht, so lässt du das Altersfeld einfach leer.</p>'+donTxt+'</div>'
+ '<div id="grlfepd" '+dstyle(340,412)+'>'
+ '<p '+hstyle+'>Export der Einstellungen:</p><p>Den unten stehenden Text vollständig markieren, kopieren (Strg-C) und extern, z.B. in einer Textdatei, speichern.</p><p><textarea autofocus id="grlfear" name="grlfear" cols="62" rows="20" '+astyle+' readonly="readonly"></textarea></p><p><input id="grlfepo" name="grlfepo" type="button" value=" Exportfenster schließen "></p>'+donTxt+'</div>'
+ '<div id="grlfipd" '+dstyle(340,412)+'>'
+ '<p '+hstyle+'>Import der Einstellungen:</p><p>Unten den vorher exportierten Text, z.B. aus einer Textdatei, vollständig hineinkopieren (Strg-V), dann \'Importieren\' klicken.</p><p><textarea autofocus placeholder="Vorher exportierte Optionen hier hinein kopieren..." id="grlfiar" name="grlfiar" cols="62" rows="20" '+astyle+'></textarea></p><p><input id="grlfipo" name="grlfipo" type="button" value=" Importieren "> <input id="grlfipc" name="grlfipc" type="button" value="Abbruch"></p>'+donTxt+'</div>'
+ '<div id="grlopx" '+dstyle(250,260)+'>'
+ '<p '+hstyle+'> Filter ein/aus/ausgrauen:</p>'
+ arb(0,'nicht filtern (alles anzeigen)')
+ arb(1,'alles wegfiltern (auch Tapse)')
+ arb(2,'wegfiltern (aber Tapse doch anzeigen)')
+ arb(3,'wegfiltern (aber Tapse ausgrauen)')+'<br />'
+ arb(4,'nicht wegfiltern, sondern nur ausgrauen')
+ '<br /> <input id="grlfoi" name="grlfoi" type="button" value=" Ok "> <input id="grlfor" name="grlfor" type="button" value="Abbruch"><br />'+aboutTxt+'</div>') //+donTxt+
:
oo('body')[0].innerHTML.replace( /body>/ ,
'body>'
+'<div id="grlgray" style="position:fixed;left:0;top:0;width:100%;height:100%;background:#000 none;opacity:0.7;z-index:5000}"></div>'
+'<div id="grlfld" '+dstyle(330,440)+'>'
+ '<p '+hstyle+'>Filtered Countries (by continents):</p><p>To select or deselect multiple countries <span style="text-decoration:underline;">press and hold the Ctrl key!</span></p><p>'
+ ' <select id="grlfls" size="18" multiple style="width:200px;"></select>'
+ ' </p><p><input type="checkbox" id="nurd"> <label for="nurd"><b>filter all but Germany</b></label><br /><input type="checkbox" id="eu" name="3"> <label for="eu">Europe</label><br /><input type="checkbox" id="af" name="0"> <label for="af">Africa</label> <input type="checkbox" id="as" name="1"> <label for="as">Asia</label> <input type="checkbox" id="au" name="2"> <label for="au">Australia & Oceania</label><br /><input type="checkbox" id="ma" name="4"> <label for="ma">Middle America</label> <input type="checkbox" id="no" name="5"> <label for="no">Middle East</label><br /><input type="checkbox" id="na" name="6"> <label for="na">North America</label> <input type="checkbox" id="sa" name="7"> <label for="sa">South America</label> <input id="grlflb" name="grlflb" type="button" value=" Ok "> <input id="grlflx" name="grlflx" type="button" value="Cancel"><br />'+donTxt+'</p></div>'
+ '<div id="grlfli" '+dstyle(330,445)+'>'
+ '<p '+hstyle+'>Filtered IDs:</p><p>Please wait a few seconds, the system searches the filtered IDs and shows the matching user names. After that you can (de)select them. If you won\'t filter them any more press the button <span style="text-decoration:underline;">\'show ID again\'</span>.</p><p>'
+ ' <select id="grlfsi" size="18" style="width:200px;"></select> <input id="grlfiz" name="grlfiz" type="button" value="show ID\nagain " style="vertical-align:top;"></p><p>'
+ ' <b>Add this user name to the filter:</b></p><p>'
+ ' <input id="grlfii" name="grlfii" type="text" size="36"> <input id="grlfip" name="grlfip" type="button" value=" Filter this user "></p><p>'
+ ' <input id="grlfbi" name="grlfbi" type="button" value=" Ok "> <input id="grlfix" name="grlfix" type="button" value="Cancel"><br />'+donTxt+'</div>'
+ '<div id="grlfex" '+dstyle(450,390)+'>'
+ '<p '+hstyle+'>Regular expressions filter:</p><p>'
+ ' <input type="checkbox" id="grlfem"> <label for="grlfem"><b style="color:#40ff40">SHOULD contain:</b></label> <b> </b> <input type="checkbox" id="grlfemi"> <label for="grlfemi"><b>ABC=abc</b></label><br />'
+ ' <textarea id="grlfemt" name="grlfemt" cols="57" rows="2" style="background-color:#80ff80;resize:none"></textarea></p><p>'
+ ' <input type="checkbox" id="grlfen"> <label for="grlfen"><b style="color:#ff8080">MUST NOT contain:</b></label> <input type="checkbox" id="grlfeni"> <label for="grlfeni"><b>ABC=abc</b></label><br />'
+ ' <textarea id="grlfent" name="grlfent" cols="57" rows="2" style="background-color:#ff8080;resize:none"></textarea></p><p>'
+ ' <b>PLUS users only:</b> <b style="color:#ff0;">Show only users, who search my age (<input type="text" size="1" maxlength="2" id="grlfea" style="background:#3060ff; color:#ff0; border-width:0px 0px 1px; border-style:dashed; text-align:center; font-weight:bold;">).</b></p><p style="margin:1em;">'
+ '<input id="grlfei" name="grlfei" type="button" value=" Ok "> <input id="grlfer" name="grlfer" type="button" value="Cancel"><p style="margin-left:4px;">'
+ 'See detailed help on the <a href="http://userscripts.org/scripts/show/55040" target="blank">filter script page</a>.<br />Use () to group and | to seperate items, a . replaces a space.<br />You may specify real regular expressions, if you want. The filter is active, if checked. The filter will be applied to all listed details of the user. If ABC=abc is checked, capitalization will be ignored. The filter reset does not delete the expressions, it only resets the check marks.<br />If you fill in your age (a number between 18 and 99), the filter will hide users who don\'t search your age. This works only if you are a PLUS user, and you\'ve selected to let these information to be shown in the user lists. If you don\'t want such filtering, just keep the age input field empty.</p>'+donTxt+'</div>'
+ '<div id="grlfepd" '+dstyle(340,412)+'>'
+ '<p '+hstyle+'>Settings Export:</p><p>Select the text below, copy (Ctrl-C) and save it exterally, i.e. in a text file.</p><p><textarea autofocus id="grlfear" name="grlfear" cols="62" rows="20" '+astyle+'></textarea></p><p><input id="grlfepo" name="grlfepo" type="button" value=" close export window "></p>'+donTxt+'</div>'
+ '<div id="grlfipd" '+dstyle(340,412)+'>'
+ '<p '+hstyle+'>Settings Import:</p><p>Paste (Ctrl-V) the previously exported text, i.e. from a text file, into the text box below, then click the \'Import this\' button.</p><p><textarea autofocus placeholder="Paste previously exported settings here..." id="grlfiar" name="grlfiar" cols="62" rows="20" '+astyle+'></textarea></p><p><input id="grlfipo" name="grlfipo" type="button" value=" Import this "> <input id="grlfipc" name="grlfipc" type="button" value="Cancel"></p>'+donTxt+'</div>'
+ '<div id="grlopx" '+dstyle(250,260)+'>'
+ '<p '+hstyle+'> Filter enable/disable/gray-out:</p>'
+ arb(0,'filter disabled (show all entries)')
+ arb(1,'filter fully enabled (footprints visible)')
+ arb(2,'filter enabled (footprints visible)')
+ arb(3,'filter enabled (footprints grayed-out)')+'<br />'
+ arb(4,'filterd entries grayed-out')
+ '<br /> <input id="grlfoi" name="grlfoi" type="button" value=" Ok "> <input id="grlfor" name="grlfor" type="button" value="Cancel"><br /><p style="margin-top:5px; padding:2px; border-top:2px solid yellow; color: yellow">Planetromeo Gayromeo Filter '+version+'<br />http://userscripts.org/scripts/show/55040<br />© 2011 → <a href=\"/auswertung/setcard/?set=3420497\" onClick=\"return openUrl(this.href);\">burke67</a></p></div>'); //+donTxt+
ooo("grlgray",0);
ael('grlflb',submitCountryForm);
ael('grlflx',submitCountryForm);
ael('nurd',justGermany);
for (var i=0; i<8; i++)
ael(elems[i],justContinent);
function submitIdForm() {
switchElems(true);
if (this.name=="grlfbi") {
window["GR_LF_ids"]=defaultFilter;
var nope="";
for (var i=0; i<o('grlfsi').length; i++) {
if (o('grlfsi').options[i].text==o('grlfsi').options[i].value)
nope=nope + "#" + o('grlfsi').options[i].value;
else
window["GR_LF_ids"]=window["GR_LF_ids"] + "#" + o('grlfsi').options[i].value;
}
if (nope!="")
if (!confirm((lang=="DE")?"Es gibt verwaiste IDs ohne Bezug (vermutlich gelöschte User).\nSollen diese auch aus dem Filter gelöscht werden?":"There are orphaned IDs (probably deleted users). Do you want to delete them?"))
window["GR_LF_ids"]=window["GR_LF_ids"] + nope;
GM_setValue("GR_LF_ids", window["GR_LF_ids"]);
}
ooo('grlfli',0);
if (loc) document.location.href=loc; else location.reload();
}
ael('grlfbi',submitIdForm);
ael('grlfix',submitIdForm);
function listclick() {
var idx=this.selectedIndex;
var kont=-1;
for (var i=0; i<=7; i++)
if ( (idx>=sidxs[i])&&(idx<=eidxs[i]) ) kont=i;
if (kont>-1) {
o(elems[kont]).checked=false;
window["GR_LF_"+elems[kont]]=false;
}
}
ael('grlfls',listclick);
function switchElems(b) {
o('grlfsi').disabled=b;
o('grlfiz').disabled=b;
o('grlfii').disabled=b;
o('grlfip').disabled=b;
o('grlfbi').disabled=b;
}
function zeigenclick() {
var idx=o('grlfsi').options.selectedIndex;
if (idx>-1) {
switchElems(true);
o('grlfsi').removeChild(o('grlfsi').options[idx]);
switchElems(false);
}
}
ael('grlfiz',zeigenclick);
function ipClick() {
var v=o('grlfii').value;
if (v.length>0) {
switchElems(true);
get("http://"+urhost+"/"+v, /<frame name="mitte" src="\/.*\/search\/\?action=execute&searchType=userDetail&userId=(\d+)/,workxhr,v,null);
}
}
ael('grlfip',ipClick);
if (window['GR_LF_onlyger']) {
o('nurd').checked=true;
for (var elem in elems)
o(elems[elem]).disabled=true;
}
for (var i=0; i<=7; i++)
o(elems[i]).checked=window['GR_LF_'+elems[i]];
var opt;
for (var n=1; n<fIdArr.length; n++) {
if ((fIdArr[n]!=defaultFilter)&&(fIdArr[n]!="undefined")) {
opt=new Option(fIdArr[n],fIdArr[n],false,false);
o('grlfsi').add(opt);
}
}
function ageexpr(ma) {
ma = 1*ma;
if (ma==0) return('');
var mae = ma % 10;
var maz = (ma-mae)/10;
var re = "";
re += "(((ab|above)."+maz+"["+mae+"-9])|";
re += "("+maz+"["+mae+"-9]-\\d\\d)|";
if (maz<9) {
re += "((ab|above).["+(maz+1)+"-9]\\d)|";
re += "(["+(maz+1)+"-9]\\d-\\d\\d)|";
}
re += "((bis|below)."+maz+"[0-"+mae+"])|";
re += "(\\d\\d-"+maz+"[0-"+mae+"])|";
if (maz>1) {
re += "((bis|below).[1-"+(maz-1)+"]\\d)|";
re += "(\\d\\d-[1-"+(maz-1)+"]\\d)";
}
re += ".(Jahre|years))";
return(re);
}
function submitExpForm() {
if (this.name=="grlfei") {
var tt = o('grlfea').value;
if ((tt!='') && (isNaN(tt) || (1*tt<18) || (1*tt>99))) {
alert((lang=="DE")?"Altersfeld leer lassen\noder eine Zahl zwischen 18 und 99 eingeben.":"Keep age input field empty\nor enter a number between 18 and 99.");
return(false);
}
}
ooo('grlfex',0);
if (this.name=="grlfei") {
mstate=o('grlfem').checked;
window['GR_LF_mstate']=mstate;
GM_setValue( 'GR_LF_mstate', mstate);
nstate=o('grlfen').checked;
window['GR_LF_nstate']=nstate;
GM_setValue( 'GR_LF_nstate', nstate);
mistate=o('grlfemi').checked;
window['GR_LF_mistate']=mistate;
GM_setValue( 'GR_LF_mistate', mistate);
nistate=o('grlfeni').checked;
window['GR_LF_nistate']=nistate;
GM_setValue('GR_LF_nistate', nistate);
GM_setValue('GR_LF_must', o('grlfemt').value);
GM_setValue('GR_LF_nogo', o('grlfent').value);
myage=o('grlfea').value;
window['GR_LF_myage']=myage;
GM_setValue('GR_LF_myage', o('grlfea').value);
}
if (loc) document.location.href=loc; else location.reload();
}
ael('grlfei',submitExpForm);
ael('grlfer',submitExpForm);
function setOptForm() {
ooo('grlfex',0);
state=!o('grlonoff0').checked;
window['GR_LF_state']=state;
newstate=o('grlonoff1').checked + 2*o('grlonoff2').checked + 3*o('grlonoff3').checked + + 4*o('grlonoff4').checked;
window['GR_LF_newstate']=newstate;
GM_setValue('GR_LF_state', state);
GM_setValue('GR_LF_newstate', newstate);
if (loc) document.location.href=loc; else location.reload();
}
ael('grlfoi',setOptForm);
function dogets() {
opt=o('grlfsi');
switchElems(true);
for (var n=0; n<opt.length;n++) {
get("http://"+urhost+"/"+sessionId+"search/?action=execute&searchType=userDetail&userId="+opt.options[n].value, /auswertung\/setcard\/index.php\?set=\d+&secure=.+">([^<]+)<\/a>/,workxhr,null,n);
}
}
for (var n=0; n<aCArr.length; n++) {
switch (n) {
case 0:
opt=new Option((lang=="DE")?"- A F R I K A... :":"- A F R I C A... :","-Afrika",false,false);
o('grlfls').add(opt);
opt=new Option(" .. "+ULand[aCArr[n]], aCArr[n], false, fCAss[aCArr[n]]==1);
break;
case 53:
opt=new Option((lang=="DE")?"- A S I E N... :":"- A S I A... :","-Asien",false,false);
o('grlfls').add(opt);
opt=new Option(" .. "+ULand[aCArr[n]], aCArr[n], false, fCAss[aCArr[n]]==1);
break;
case 86:
opt=new Option((lang=="DE")?"AUSTRALIEN+OZEANIEN... :":"AUSTRALIA+OCEANIA... :","-Australien",false,false);
o('grlfls').add(opt);
opt=new Option(" .. "+ULand[aCArr[n]], aCArr[n], false, fCAss[aCArr[n]]==1);
break;
case 102:
opt=new Option((lang=="DE")?"- E U R O P A... :":"- E U R O P E... :","-Europa",false,false);
o('grlfls').add(opt);
opt=new Option(" .. "+ULand[aCArr[n]], aCArr[n], false, fCAss[aCArr[n]]==1);
break;
case 147:
opt=new Option((lang=="DE")?"MITTELAMERIKA... :":"MIDDLE AMERICA... :","-Mittelamerika",false,false);
o('grlfls').add(opt);
opt=new Option(" .. "+ULand[aCArr[n]], aCArr[n], false, fCAss[aCArr[n]]==1);
break;
case 177:
opt=new Option((lang=="DE")?"NAHER OSTEN... :":"MIDDLE EAST... :","-NaherOsten",false,false);
o('grlfls').add(opt);
opt=new Option(" .. "+ULand[aCArr[n]], aCArr[n], false, fCAss[aCArr[n]]==1);
break;
case 190:
opt=new Option((lang=="DE")?"NORDAMERIKA :":"NORTH AMERICA... :","-Nordamerika",false,false);
o('grlfls').add(opt);
opt=new Option(" .. "+ULand[aCArr[n]], aCArr[n], false, fCAss[aCArr[n]]==1);
break;
case 193:
opt=new Option((lang=="DE")?"SÜDAMERIKA... :":"SOUTH AMERICA... :","-Suedamerika",false,false);
o('grlfls').add(opt);
opt=new Option(" .. "+ULand[aCArr[n]], aCArr[n], false, fCAss[aCArr[n]]==1);
break;
default:
opt=new Option(" .. "+ULand[aCArr[n]], aCArr[n], false, fCAss[aCArr[n]]==1);
break;
}
o('grlfls').add(opt);
}
fIdAss[""]=0;
var allCells=oo('td');
if (onoff==false) {
allCells[0].innerHTML+= (lang=="DE") ? " — <i>(Filter aus)</i>" : " — <i>(No filtering)</i>";
} else {
if (lang=="DE")
allCells[0].innerHTML+=(state) ? ((newstate==4) ? " — <i>(ausgegraut)</i>" : " — <i>(gefiltert)</i>") : " — (ungefiltert)";
else
allCells[0].innerHTML+=(state) ? ((newstate==4) ? " — <i>(grayed out)</i>" : " — <i>(filtered)</i>") : " — (unfiltered)";
}
function pslnk(l,t) {
return "<a id='"+l+"' style='color:#dd0;cursor:pointer;' onmouseover='this.style.color=\"#fff\"' onmouseout='this.style.color=\"#dd0\"'"+t+">";
}
myRow=document.createElement("TR");
myCell=document.createElement("TD"); myCell.setAttribute("colspan","2");
myRow.appendChild(myCell);
onoffstrde = (onoff==true)?"<u>AN</u>>AUS</a>":"AN<<u>AUS</u></a>";
onoffstren = (onoff==true)?"<u>ON</u>>OFF</a>":"ON<<u>OFF</u></a>";
// version +": "+pslnk('grloox','')+onoffstrde+" | "
// Ausdrücke</a> – Zurücksetzen:
myCell.innerHTML=(lang=="DE")?
"<div align='right' style='width:100%; font-weight:normal; margin-top:-2px; margin-bottom:-14px;'>Listen-Filter "+ version +" – "+pslnk('grlool','')+"Optionen</a> | "+pslnk('grlfep','')+"Export</a> | "+pslnk('grlfrp','')+"Import</a> – © <a href=\"/auswertung/setcard/?set=3420497\" onClick=\"return openUrl(this.href);\">burke67</a><br />Ändern: "+pslnk('grlfil','')+"IDs</a> | "+pslnk('grlfll','')+"Länder</a> | "+pslnk('grlfxl',' title=\''+nmTooltip()+'\'')+"Ausdrücke</a>: "+pslnk('grloox','')+onoffstrde+" – Zurücksetzen: "+pslnk('grlcal','')+"IDs+Länder</a> | "+pslnk('grlcai','')+(fIdArr.length-1)+" IDs</a> | "+pslnk('grlcac','')+(fCArr.length-1)+" Länder</a></div>":
"<div align='right' style='width:100%; font-weight:normal; margin-top:-2px; margin-bottom:-14px;'>Listing Filter "+ version +" | "+pslnk('grlool','')+"Settings</a> | "+pslnk('grlfep','')+"Export</a> | "+pslnk('grlfrp','')+"Import</a> – ©<a href=\"/auswertung/setcard/?set=3420497\" onClick=\"return openUrl(this.href);\">burke67</a><br />Change: "+pslnk('grlfil','')+"IDs</a> | "+pslnk('grlfll','')+"Countries</a> | "+pslnk('grlfxl',' title=\''+nmTooltip()+'\'')+"Expressions</a>: "+pslnk('grloox','')+onoffstrde+" – Reset: "+pslnk('grlcal','')+"IDs+Countries</a> | "+pslnk('grlcai','')+(fIdArr.length-1)+" IDs</a> | "+pslnk('grlcac','')+(fCArr.length-1)+" Countries</a></div>";
oo("table")[0].appendChild(myRow);
ael('grlcal',resetAll);
ael('grlcai',resetIds);
ael('grlcac',resetCountries);
var dW;
function Don() {
dW=window.open("http://burke67.yolasite.com/listenfilter.php", "", "width=300,height=400,left=50,top=50");
dW.focus();
return true;
}
function optionClick() {
ooo('grlgray',1);
ooo('grlopx',1);
o('grlonoff'+window['GR_LF_newstate']).checked=true;
return true;
}
function countryClick() {
ooo('grlgray',1);
ooo('grlfld',1);
return true;
}
function idClick() {
dogets();
ooo('grlgray',1);
ooo('grlfli',1);
return true;
}
function expClick() {
o('grlfemi').checked=window['GR_LF_mistate'];
o('grlfeni').checked=window['GR_LF_nistate'];
o('grlfem').checked=window['GR_LF_mstate'];
o('grlfen').checked=window['GR_LF_nstate'];
o('grlfemt').value=window['GR_LF_must'];
o('grlfent').value=window['GR_LF_nogo'];
o('grlfea').value=window['GR_LF_myage'];
ooo('grlgray',1);
ooo('grlfex',1);
return true;
}
ael('grlool',optionClick);
ael('grlfll',countryClick);
ael('grlfil',idClick);
ael('grlfxl',expClick);
function toggleOnOff() {
ooo('grlgray',1);
if (onoff==false) {
onoff=true;
}
else {
onoff=false;
}
GM_setValue("GR_LF_ONOFF", onoff);
if (loc) document.location.href=loc; else location.reload();
}
ael('grloox',toggleOnOff);
var tarr=new Array('mstate','nstate','mistate','nistate','state','onlyger','must','nogo','countries','ids','newstate');
function eptClick() {
var settings='';
for (var i=0; i<=7; i++) settings=settings + "window['GR_LF_" + elems[i] + "']=" + window['GR_LF_'+elems[i]] + "; ";
for (var i in tarr) settings=settings + "window['GR_LF_" + tarr[i] + "']=" + ((i>5)?"decodeURIComponent('"+encodeURIComponent(window['GR_LF_'+tarr[i]])+"')":window['GR_LF_'+tarr[i]]) + "; ";
o('grlfear').value=settings;
ooo('grlgray',1);
ooo('grlfepd',1);
return true;
}
function eptClose() {
ooo('grlgray',0);
ooo('grlfepd',0);
return true;
}
function iptClick() {
o('grlfiar').value="";
ooo('grlgray',1);
ooo('grlfipd',1);
return true;
}
function iptClose() {
ooo('grlfipd',0);
var settings=o('grlfiar').value;
var testvar=0;
var e;
try {
eval( settings );
} catch (e) {
alert(((lang=="DE")?"Fehler beim Import:\n":"Import Error:\n")+e);
testvar=1;
}
if (testvar==0) {
for (var i=0; i<=7; i++) GM_setValue("GR_LF_"+elems[i], window["GR_LF_"+elems[i]]);
for (var i in tarr) GM_setValue("GR_LF_"+tarr[i], window["GR_LF_"+tarr[i]]);
alert((lang=="DE")?'Import war erfolgreich.':'Settings import successful.');
location.reload();
}
return true;
}
function iptCancel() {
ooo('grlgray',0);
ooo('grlfipd',0);
return true;
}
function optCancel() {
ooo('grlgray',0);
ooo('grlopx',0);
return true;
}
ael('grlfep',eptClick);
ael('grlfepo',eptClose);
ael('grlfrp',iptClick);
ael('grlfipo',iptClose);
ael('grlfipc',iptCancel);
ael('grlfor',optCancel);
function grayCell(c) {
if (c.style) c.style.opacity='0.8';
}
function hideRow(r,hf) {
if (r.style)
if (hf) r.style.display='none'; else r.style.opacity='0.4';
}
function hideRow2(r,tf) {
if (newstate==3) hideRow(r,!tfound);
if (newstate==1) hideRow(r,true);
if (newstate==4) hideRow(r,false);
if ((newstate==2)&&(!tfound)) hideRow(r,true);
}
var mu1=" style='text-decoration:none; color:#119; vertical-align:top;'><span style='border:1px solid #119; padding:1px ";
var mu1a=" style='text-decoration:none; color:#119; vertical-align:top; float:right;'><span style='border:1px solid #119; padding:1px ";
var mu2="px 2px; font-size:5pt; background-color:#99e; -moz-border-radius:2px;'>";
var mu3="</span></a>";
var musttest=false;
var nogotest=false;
var tfound=false;
var agetest = false;
var mexp=new RegExp(window['GR_LF_must'],(mistate)?"gi":"g");
var nexp=new RegExp(window['GR_LF_nogo'],(nistate)?"gi":"g");
var aexp=new RegExp(ageexpr(window['GR_LF_myage']),"g");
var astate = (window['GR_LF_myage']!='');
var nobrexp=new RegExp("<br[ ]{0,1}[/]{0,1}><br[ ]{0,1}[/]{0,1}>","gi");
//if (onoff==true) {
var maxRowh = 35-34; //35
var maxPich = 95; //95
var allRows=oo('tr');
for (var i=0; i<allRows.length; i++) {
thisRow=allRows[i];
pic=thisRow.innerHTML.search(/repeat-x; height:([0-9]+)px !important;/);
if (pic>-1) {
pich=RegExp.$1;
if (pich>maxRowh) {
thisRow.innerHTML=thisRow.innerHTML.replace(/height:[0-9]+/,'height:'+maxRowh);
}
}
}
startRow=allCells[0].parentNode;
var hideFlag=false;
for (var i=4; i<allCells.length; i++) {
thisCell=allCells[i];
/* // wg. quadr. Profilbilder auskommentiert
pic=thisCell.innerHTML.search(/height="([0-9]+)" width="55"/);
if (pic>-1) {
pich=RegExp.$1;
if (pich>maxPich) {
neww=Math.ceil((maxPich*55)/pich);
thisCell.innerHTML=thisCell.innerHTML.replace(/height="([0-9]+)" width="55"/,'height="'+maxPich+'" width="'+neww+'"');
}
}
*/
/* // noch keine Verwendung
dist=thisCell.innerHTML.search(/([1-9]+[0-9]*,?[0-9]*) (m|km|ft|mi) ?\/?/);
if (dist>0) {
entf = RegExp.$1.replace(/,/,".")*1.0;
if (RegExp.$2=="mi") { entf = entf*1.609344; }
if (RegExp.$2=="ft") { entf = entf*0.3048/1000; }
if (RegExp.$2=="m") { entf = entf/1000; }
bgc="005";
if (entf<100) bgc="227";
if (entf<50) bgc="449";
if (entf<25) bgc="66B";
if (entf<10) bgc="88C";
if (entf<5) bgc="99D";
if (entf<2.5) bgc="AAE";
if (entf<1) bgc="BBF";
// thisCell.style.backgroundColor = "#"+bgc;
if (entf>0) { thisCell.innerHTML = thisCell.innerHTML.replace(/distance">/,'distance" style="color:#'+bgc+';">'); }
} */
if (thisCell.innerHTML.search(/[\?] ..<\/a>/)>-1) thisCell.innerHTML='';
thisCell.innerHTML=thisCell.innerHTML.replace(/Letzter Login:/,"letztes Login:");
thisCell.innerHTML=thisCell.innerHTML.replace(/width:65px; height:51px; margin-right:2px; margin-top:5px/,"width:54px; height:43px; margin-top:-20px;"); //taps
thisCell.innerHTML=thisCell.innerHTML.replace(/position:relative;/,""); //nopic.gif
thisCell.innerHTML=thisCell.innerHTML.replace(
/ [^&]+ ([0-2][0-9]\.[01][0-9]\.)-([0-2][0-9]:[0-5][0-9])/,
" $1 $2");
thisCell.innerHTML=thisCell.innerHTML.replace(/lbs. /,"lbs ");
inside=thisCell.innerHTML.replace(/ /g," ");
result=inside.search(/set=(\d+).+[^>]<\/a>/);
if (result>-1) number=RegExp.$1; else number="";
tfound=tfound||((inside.search(/\/v5\/img\/footprints\/[0-9]+.gif/)>-1));
countryfound=(aCAss[ CTrans[inside] ]==1);
if (onoff==true) {
if (mstate) musttest=(musttest||mexp.test(inside));
if (nstate) nogotest=(nogotest||nexp.test(inside));
if (astate) agetest=(agetest||aexp.test(inside));
}
lastcell=nobrexp.test(inside);
cond3=lastcell&&((mstate&&!musttest)||(nstate&&nogotest)||(astate&&agetest));
idfound=(result>-1);
if (i<allCells.length-1) nextCell=allCells[i+1];
cond1=((fCAss[ CTrans[inside] ]==1)||(fIdAss[''+number]==1));
cond2=( (window['GR_LF_onlyger'])&&countryfound&&(inside!="Deutschland") );
thisRow=thisCell.parentNode;
if (thisRow.style) if (thisRow.style.height) if (thisRow.style.height=="3px") startRow=thisRow;
hideFlag=hideFlag||(cond1||cond2||cond3);
if (ppage) {
if ((fIdAss[''+number]==1)&&(newstate>0)) grayCell(thisCell);
} else
if (lastcell) {
if (state&&hideFlag) {
r=startRow;
hideRow2(r,tfound);
do {
nextRow=r.nextSibling;
if (nextRow) {
hideRow2(nextRow,tfound);
if (nobrexp.test(nextRow.innerHTML)) break;
}
r=nextRow;
} while (r);
}
musttest=false;
nogotest=false;
agetest=false;
hideFlag=false;
tfound=false;
thisCell.innerHTML=inside.replace(/<br[ ]{0,1}[/]{0,1}><br[ ]{0,1}[/]{0,1}>/,"");
}
if (countryfound) {
link=document.createElement("span");
if (fCAss[ inside ]==1) {
//thisCell.innerHTML="("+thisCell.innerHTML+ ") "; // jetzt CSS-Style
thisCell.style.textDecoration='line-through';
atemp=(lang=="DE")?"Land wieder zeigen":"show this country again";
link.innerHTML="<a href='"+loc+"&dc="+encodeURIComponent(inside)+"' title='"+atemp+"'"+mu1+"3"+mu2+"+"+mu3;
} else {
thisCell.innerHTML+=" ";
atemp=(lang=="DE")?"Land verstecken":"hide this country";
link.innerHTML="<a href='"+loc+"&ac="+encodeURIComponent(inside)+"' title='"+atemp+"'"+mu1+"4"+mu2+"–"+mu3;
}
thisCell.appendChild(link);
}
if (idfound) {
if (ppage) {
if (fIdAss[''+number]==1) {
thisCell.innerHTML=thisCell.innerHTML.replace(/">(.+)<\/a><br/,"\">($1)</a><br");
pm="+"; act="di"; w="3"; atemp=(lang=="DE")?"User wieder zeigen":"show this user again";
} else { pm="–"; act="ai"; w="4"; atemp=(lang=="DE")?"User verstecken":"hide this user"; }
thisCell.innerHTML="<a href='"+loc+"&"+act+"="+encodeURIComponent(number)+"' title='"+atemp+"'"+mu1a+w+mu2+pm+mu3 + thisCell.innerHTML;
} else {
link=document.createElement("span");
if (fIdAss[''+number]==1) {
//thisCell.innerHTML="("+thisCell.innerHTML+ ") "; // jetzt CSS-Style
thisCell.style.textDecoration='line-through';
atemp=(lang=="DE")?"User wieder zeigen":"show this user again";
link.innerHTML=" <a href='"+loc+"&di="+encodeURIComponent(number)+"' title='"+atemp+"'"+mu1+"3"+mu2+"+"+mu3;
} else {
//thisCell.innerHTML="<b>"+thisCell.innerHTML+"</b> "; // wg. GR-Tools auskommentiert
atemp=(lang=="DE")?"User verstecken":"hide this user";
link.innerHTML=" <a href='"+loc+"&ai="+encodeURIComponent(number)+"' title='"+atemp+"'"+mu1+"4"+mu2+"–"+mu3;
}
nextCell.appendChild(link);
atemp=(lang=="DE")?"Anonym: Message-Verlauf + User speichern":"anonymously: email history + save profile";
nextCell.innerHTML+="<a href='../msg/history.php?uid="+number+"' title='"+atemp+"' onClick='return openUrl(this.href);'"+mu1+"4"+mu2+"o"+mu3;
}
}
}
//} // if(onoff==false)