Jobfilter

Filter Personalvermittlungen und Zeitarbeitsfirmen

  1. // ==UserScript==
  2. // @name Jobfilter
  3. // @namespace http://userscripts.org/users/75950
  4. // @description Filter Personalvermittlungen und Zeitarbeitsfirmen
  5. // @include https://jobboerse.arbeitsagentur.de/vamJB/stellenangeboteFinden.html*
  6. // @include http://jobboerse.arbeitsagentur.de/vamJB/stellenangeboteFinden.html*
  7. // @include http://www.jobinfo24.de/forum/*
  8. // @include http://www.jobmonitor.com/jobs-stellenangebote/*
  9. // @include http://www.jobomat.de/main?*
  10. // @include https://arbeit-regional.de/arbeitregional/*
  11. // @include http://www.stellenanbieter.de/?id=*
  12. // @include http://online-stellenmarkt.net/index.php?suche=*
  13. // @include http://www.online-stellenmarkt.net/index.php?suche=*
  14. // @include http://jobturbo.de/metasuche.aspx?*
  15. // @include http://www.indeed.de/Jobs?*
  16. // @include http://www.jobscout24.de/Jobs_Ergebnisliste.html?*
  17. // @include https://www.jobscout24.de/Jobs_Ergebnisliste.html?*
  18. // @version 3.3.1
  19. // ==/UserScript==
  20.  
  21. var theUngeraden = null;
  22. var theGeraden = null;
  23. var theCommon = null;
  24.  
  25. if(document.domain=='www.jobscout24.de') {
  26. theUngeraden = document.getElementsByClassName('vacancyItemContentStandardWhite');
  27. theGeraden = document.getElementsByClassName('vacancyItemContentStandardHighlighted');
  28. theCommon = document.getElementsByClassName('vacancyItemContentJobsDe');
  29. }
  30.  
  31. if(document.domain=='jobboerse.arbeitsagentur.de') {
  32. theUngeraden = document.getElementsByClassName('ungerade');
  33. theGeraden = document.getElementsByClassName('gerade');
  34. }
  35.  
  36. if(document.domain=='www.jobinfo24.de') {
  37. theUngeraden = document.getElementsByClassName('mod_row1');
  38. theGeraden = document.getElementsByClassName('mod_row2');
  39. }
  40.  
  41. if(document.domain=='www.jobmonitor.com') {
  42. theUngeraden = document.getElementsByClassName('searchList');
  43. }
  44.  
  45. if(document.domain=='www.jobomat.de') {
  46. theUngeraden = document.getElementsByClassName('trli');
  47. }
  48.  
  49. if(document.domain=='arbeit-regional.de') {
  50. theUngeraden = document.getElementsByClassName('datatable')[0].getElementsByTagName('tbody')[0].getElementsByTagName('tr');
  51. }
  52.  
  53. if(document.domain=='www.stellenanbieter.de') {
  54. theUngeraden = document.getElementsByClassName('zeile-odd');
  55. theGeraden = document.getElementsByClassName('zeile');
  56. }
  57.  
  58. if(document.domain=='online-stellenmarkt.net' || document.domain=='www.online-stellenmarkt.net') {
  59. theUngeraden = document.getElementsByClassName('sttable');
  60. }
  61.  
  62. if(document.domain=='jobturbo.de') {
  63. theUngeraden = document.getElementById('ctl00_ContentPlaceHolder1_DataList_JobList').getElementsByTagName('tr');
  64. }
  65.  
  66. if(document.domain=='www.indeed.de') {
  67. theUngeraden = document.getElementsByClassName('row');
  68. }
  69.  
  70. var theFilter = ['Personal', 'Call', 'Zeit', 'Time', 'Agentur', 'M. Thiele', 'Plettenberg', 'Arbeitsvermittlung', 'Buscha', 'Fleischmann-Hahn', 'together group', 'jobs nach mass', 'Deutsche Angestellten Akademie', 'AKPM', 'Sitel', 'K&S-Kommunikation & Service GmbH', 'maXXu GmbH', 'i-potentials GmbH', 'Premium Consultants', 'Mairinger', 'Expero', 'Randstad', 'Permacon', 'Allround Service', 'riedel-personal', 'PRIMAJOB AG', 'FRANZ & WACH', 'STF Placement', 'persona service', 'Scheerbaums Erben', 'Kelly Services', 'Education Campus', 'PersOrange', 'Manpower', 'Job@ctive', 'headwayengineers', 'AlphaConsult', 'AGO', 'DIE WEGBEREITER', 'Bic Consult', 'serviceline', 'www.fairnes-work.de', 'yd. yourdelivery UG', 'KundS', 'Perso Plankontor', 'TEMPTON'];
  71. var theAction = 'Ausblenden';
  72.  
  73. if(GM_getValue('filter')) {
  74. theFilter = JSON.parse(GM_getValue('filter'));
  75. } else {
  76. GM_setValue('filter', JSON.stringify(theFilter));
  77. }
  78. if(GM_getValue('action')) {
  79. theAction = GM_getValue('action');
  80. } else {
  81. GM_setValue('action', 'Ausblenden');
  82. }
  83.  
  84. for(i=0; i<theUngeraden.length; i++) {
  85. for(j=0; j<theFilter.length; j++) {
  86. if(theUngeraden[i].textContent.indexOf(theFilter[j]) != -1) {
  87. switch(theAction) {
  88. case 'Ausblenden': theUngeraden[i].style.display = 'none';break;
  89. case 'Farbig hinterlegen':
  90. theUngeraden[i].style.backgroundColor = 'orange';
  91. var theTD = theUngeraden[i].getElementsByTagName('td');
  92. for(k=0; k<theTD.length; k++) theTD[k].style.backgroundColor = 'orange';
  93. break;
  94. }
  95. }
  96. }
  97. }
  98.  
  99. if(theGeraden)
  100. for(i=0; i<theGeraden.length; i++) {
  101. for(j=0; j<theFilter.length; j++) {
  102. if(theGeraden[i].textContent.indexOf(theFilter[j]) != -1) {
  103. switch(theAction) {
  104. case 'Ausblenden': theGeraden[i].style.display = 'none';break;
  105. case 'Farbig hinterlegen':
  106. theGeraden[i].style.backgroundColor = 'orange';
  107. var theTD = theGeraden[i].getElementsByTagName('td');
  108. for(k=0; k<theTD.length; k++) theTD[k].style.backgroundColor = 'orange';
  109. break;
  110. }
  111. }
  112. }
  113. }
  114.  
  115. if(theCommon)
  116. for(i=0; i<theCommon.length; i++) {
  117. for(j=0; j<theFilter.length; j++) {
  118. if(theCommon[i].textContent.indexOf(theFilter[j]) != -1) {
  119. switch(theAction) {
  120. case 'Ausblenden': theCommon[i].style.display = 'none';break;
  121. case 'Farbig hinterlegen':
  122. theCommon[i].style.backgroundColor = 'orange';
  123. var theTD = theCommon[i].getElementsByTagName('td');
  124. for(k=0; k<theTD.length; k++) theTD[k].style.backgroundColor = 'orange';
  125. break;
  126. }
  127. }
  128. }
  129. }
  130.  
  131. // SCRIPT USERSCRIPT PREFERENCES
  132. // VERSION 1.0.4deutsch jobboerse
  133. // Shows a div-Window and darkens the page for userscript preference values
  134. var USP = {
  135. node: null,
  136. darken: null,
  137. valueList: null,
  138. theScriptName: 'Jobfilter',
  139. prefPrefix: '',
  140. isVisible: false,
  141. CSS: ''+
  142. '#US-prefs,#US-prefs *{font-size:12px;font-weight:normal;font-style:normal;font-family:tahoma,arial,sans-serif;color:#000;text-transform:none;text-decoration:none;letter-spacing:normal;word-spacing:normal;line-height:normal;vertical-align:baseline;direction:ltr;background:transparent none repeat scroll 0 0;opacity:1;position:static;visibility:visible;z-index:auto;overflow:visible;white-space:normal;clip:auto;float:none;clear:none;cursor:auto;text-align:center}/*preserve defaults*/\n\n'+
  143. '#US-prefs{display:block;position:fixed;z-index:999;border:1px solid #000;-moz-border-radius:5px;background:rgb(180,180,180) none;color:#FFF0CF;width:400px}\n'+
  144. '#US-darken,#US-darken *{background:transparent none repeat scroll 0 0;opacity:0.7;position:static;visibility:visible;z-index:auto;overflow:visible;white-space:normal;clip:auto;float:none;clear:none;cursor:auto}/*preserve defaults*/\n\n'+
  145. '#US-darken{height:100%;width:100%;display:block;position:fixed;z-index:998;background:rgb(0,0,0) none}\n'+
  146. ' #US-prefs>h1{text-align:center;display:block;font-size:2em;font-weight:normal;border:0;margin:0;padding:0}\n'+
  147. ' #US-prefs p{display:block;margin:5px 10px 1em 5px;font-family:arial,sans-serif}\n'+
  148. ' #US-prefs p>b{font-weight:bold}\n'+
  149. ' #US-prefs>div{display:block;width:300px;margin:0 auto;text-align:right;}\n'+
  150. ' #US-prefs>div>div{display:block;width:300px;margin:0 auto;text-align:center}\n'+
  151. ' .US-radio{margin:0.2em auto !important;padding:2px 2px;border:1px solid #000;-moz-border-radius:3px;}\n'+
  152. ' .US-radio div{display:block;width:100%;margin:0 auto;text-align:left !important;font-weight:bold !important}\n'+
  153. ' #US-prefs input, #US-prefs select{width: auto;text-align:left;margin:0.7em 0;padding:0 6px;background:#FFE1A2;border:1px solid #000;-moz-border-radius:4px;border-color:#5F3E00 #5F3E00 #000 #5F3E00;font-family:verdana,arial,sans-serif}\n'+
  154. ' #US-prefs>div>div input{margin:0 0;padding:0 0;background:#FFE1A2;border:1px solid #000;-moz-border-radius:4px;border-color:#5F3E00 #5F3E00 #000 #5F3E00;font-family:verdana,arial,sans-serif}',
  155. init: function() {
  156. var theStyle=document.createElement("style");
  157. USP.valueList=arguments;
  158. theStyle.setAttribute('type','text/css');
  159. //document.body.appendChild(theStyle).innerHTML=USP.CSS;
  160. document.getElementsByTagName('head')[0].appendChild(theStyle).innerHTML=USP.CSS;
  161.  
  162. USP.prefPrefix='\n <h1>Userscript Optionen</h1>\n <p>Bitte nehmen Sie Ihre Einstellungen vor f&uuml;r das Skript<br><b>'+USP.theScriptName+'</b></p>\n<div class="USP-values"></div><input class="button" type="button" value="Speichern">&nbsp;&nbsp;<input class="button" type="button" value="Speichern & Neu laden">&nbsp;&nbsp;<input class="button" type="button" value="Abbrechen"><br><input class="button" type="button" value="Updates?">\n';
  163. USP.node=document.createElement("div");
  164. USP.node.innerHTML='<div>'+USP.prefPrefix+'</div>';
  165. USP.node=USP.node.firstChild;
  166. USP.node.id="US-prefs";
  167. USP.node.parentNode.removeChild(USP.node);
  168. USP.darken=document.createElement("div");
  169. USP.darken.innerHTML='<div></div>';
  170. USP.darken=USP.darken.firstChild;
  171. USP.darken.id="US-darken";
  172. USP.darken.parentNode.removeChild(USP.darken);
  173. },
  174. cb:{},
  175. EL:
  176. function(e) {
  177. var E=e.type.toLowerCase().replace(/^on/i,""),i=0,n=e.target;
  178. if(!USP.cb[E])return;
  179. for(;i<USP.cb[E].length;i++) {
  180. if(USP.cb[E][i][0]==n) return USP.cb[E][i][1].call(n,e)
  181. }// no callbacks found
  182. },
  183. addEventListener:
  184. function(n,E,f) {
  185. if(!n+!f)return !1;
  186. if(!USP.cb[E]){USP.cb[E]=[];USP.node.addEventListener(E,function(e){USP.EL(e)},!0)}
  187. USP.cb[E].push([n,f]);
  188. return !0;
  189. },
  190. removeEventListener:
  191. function(n,E,f) {
  192. if(!n+!E+!f+!USP.cb[E])return;
  193. for(var i=0;i<USP.cb[E].length;i++) {
  194. if(USP.cb[E][i][0]==n&&USP.cb[E][i][1]==f)return !(USP.cb[E].splice(i,1))||undefined;
  195. }
  196. },
  197.  
  198. showWindow: function (){
  199. document.body.appendChild(USP.darken);
  200. document.body.appendChild(USP.node);
  201. USP.isVisible=true;
  202. },
  203. styleWindow: function() {
  204. if(typeof SVC=='undefined') {
  205. USP.node.getElementsByClassName("button")[3].style.display='none';
  206. }
  207. if(USP.valueList.length==0) {
  208. USP.node.getElementsByClassName("button")[0].style.display='none';
  209. USP.node.getElementsByClassName("button")[1].style.display='none';
  210. }
  211. USP.darken.style.left=USP.darken.style.top="50%";
  212. USP.darken.style.marginLeft=-(USP.darken.offsetWidth/2)+"px";
  213. USP.darken.style.marginTop=-(USP.darken.offsetHeight/2)+"px";
  214. USP.node.style.left=USP.node.style.top="50%";
  215. USP.node.style.marginLeft=-(USP.node.offsetWidth/2)+"px";
  216. USP.node.style.marginTop=-(USP.node.offsetHeight/2)+"px";
  217. if(USP.valueList.length>0) {
  218. USP.addEventListener(USP.node.getElementsByClassName("button")[0],"click",USP.saveValues);
  219. USP.addEventListener(USP.node.getElementsByClassName("button")[1],"click",USP.saveValuesAndReload);
  220. }
  221. USP.addEventListener(USP.node.getElementsByClassName("button")[2],"click",USP.killWindow);
  222. for(var i=0; i<USP.valueList.length; i++) {
  223. if(typeof USP.valueList[i].theDefault=='object' && USP.valueList[i].theDefault.length) {
  224. USP.addEventListener(USP.node.getElementsByClassName("USP-DelButton"+i)[0],"click",function() {
  225. // Delete button clicked
  226. var theValueNumber = this.className.substring(13);
  227. for(var j=0; j<USP.node.getElementsByClassName('USP-field'+theValueNumber).length; j++) {
  228. if(USP.node.getElementsByClassName('USP-field'+theValueNumber)[j].selected) {
  229. USP.node.getElementsByClassName('USP-field'+theValueNumber)[j].parentNode.removeChild(USP.node.getElementsByClassName('USP-field'+theValueNumber)[j]);
  230. }
  231. }
  232. });
  233. USP.addEventListener(USP.node.getElementsByClassName("USP-AddButton"+i)[0],"click",function() {
  234. // Add button clicked
  235. var theValueNumber = this.className.substring(13);
  236. var theNewValue=USP.node.getElementsByClassName('USP-AddText'+theValueNumber)[0].value;
  237. if(theNewValue!='') {
  238. var theCurrentSelect=USP.node.getElementsByClassName('USP-select'+theValueNumber)[0];
  239. theCurrentSelect.innerHTML+='<option class="USP-field'+theValueNumber+'" value="'+theNewValue+'">'+theNewValue+'</option>';
  240. USP.node.getElementsByClassName('USP-AddText'+theValueNumber)[0].value='';
  241. }
  242. });
  243. USP.addEventListener(USP.node.getElementsByClassName("USP-EdtButton"+i)[0],"click",function() {
  244. // Edit button clicked, same as Delete button but edit field will be filled
  245. var theValueNumber = this.className.substring(13);
  246. var theOldValue = '';
  247. for(var j=0; j<USP.node.getElementsByClassName('USP-field'+theValueNumber).length; j++) {
  248. if(USP.node.getElementsByClassName('USP-field'+theValueNumber)[j].selected) {
  249. theOldValue = USP.node.getElementsByClassName('USP-field'+theValueNumber)[j].value;
  250. USP.node.getElementsByClassName('USP-field'+theValueNumber)[j].parentNode.removeChild(USP.node.getElementsByClassName('USP-field'+theValueNumber)[j]);
  251. }
  252. }
  253. USP.node.getElementsByClassName('USP-AddText'+theValueNumber)[0].value = theOldValue;
  254. });
  255. USP.addEventListener(USP.node.getElementsByClassName("USP-SrtButton"+i)[0],"click",function() {
  256. // Sort button clicked
  257. var theValueNumber = this.className.substring(13);
  258. USP.node.getElementsByClassName('USP-select'+theValueNumber)[0].style.backgroundColor = 'lightgrey';
  259. window.setTimeout(function() {
  260. for(var j=0; j<(USP.node.getElementsByClassName('USP-field'+theValueNumber).length-1); j++) {
  261. for(var k=j+1; k<USP.node.getElementsByClassName('USP-field'+theValueNumber).length; k++) {
  262. var erster = USP.node.getElementsByClassName('USP-field'+theValueNumber)[j].value;
  263. var zweiter = USP.node.getElementsByClassName('USP-field'+theValueNumber)[k].value;
  264. if(erster.toLowerCase()>zweiter.toLowerCase()) {
  265. //Tauschen
  266. USP.node.getElementsByClassName('USP-field'+theValueNumber)[k].value = erster;
  267. USP.node.getElementsByClassName('USP-field'+theValueNumber)[k].innerHTML = erster;
  268. USP.node.getElementsByClassName('USP-field'+theValueNumber)[j].value = zweiter;
  269. USP.node.getElementsByClassName('USP-field'+theValueNumber)[j].innerHTML = zweiter;
  270. }
  271. }
  272. }
  273. USP.node.getElementsByClassName('USP-select'+theValueNumber)[0].style.backgroundColor = '';
  274. }, 100);
  275. });
  276. }
  277. }
  278. if(typeof SVC!='undefined') USP.addEventListener(USP.node.getElementsByClassName("button")[3],"click",SVC.versionInfo.manualChecking);
  279. },
  280.  
  281. killWindow: function(){
  282. USP.node.innerHTML=USP.prefPrefix;
  283. USP.node.parentNode.removeChild(USP.node);
  284. USP.darken.parentNode.removeChild(USP.darken);
  285. USP.isVisible=false;
  286. },
  287. saveValues: function(){
  288. var newValue;
  289. for(var i=0;i<USP.valueList.length;i++) {
  290. switch(typeof USP.valueList[i].theDefault) {
  291. case 'boolean':
  292. newValue=USP.node.getElementsByClassName('USP-field'+i)[0].checked;
  293. break;
  294. case 'number':
  295. newValue=parseInt(USP.node.getElementsByClassName('USP-field'+i)[0].value);
  296. break;
  297. case 'string':
  298. if(USP.valueList[i].theValues) {
  299. for(var j=0; j<USP.node.getElementsByClassName('USP-field'+i).length; j++) {
  300. if(USP.node.getElementsByClassName('USP-field'+i)[j].checked) newValue=USP.node.getElementsByClassName('USP-field'+i)[j].value;
  301. }
  302. } else {
  303. newValue=USP.node.getElementsByClassName('USP-field'+i)[0].value;
  304. }
  305. break;
  306. case 'object':
  307. if(USP.valueList[i].theDefault.length) {
  308. // construct a JSON string from option Array
  309. newValue = '[';
  310. for(var j=0; j<USP.node.getElementsByClassName('USP-field'+i).length; j++) {
  311. newValue += '"'+USP.node.getElementsByClassName('USP-field'+i)[j].value+'",';
  312. }
  313. if(USP.node.getElementsByClassName('USP-field'+i).length == 0) {
  314. newValue = '[]';
  315. } else {
  316. newValue = newValue.substring(0, newValue.length-1) + ']';
  317. }
  318. }
  319. break;
  320. }
  321. GM_setValue(USP.valueList[i].theName, newValue);
  322. }
  323. USP.killWindow();
  324. },
  325. saveValuesAndReload: function(){
  326. USP.saveValues();
  327. window.location.reload();
  328. },
  329. getValue: function(valueName){
  330. if(GM_getValue(valueName) != undefined) {
  331. var PrefValue = GM_getValue(valueName);
  332. for(var i=0;i<USP.valueList.length;i++) {
  333. if(USP.valueList[i].theName==valueName && typeof USP.valueList[i].theDefault=='object' && USP.valueList[i].theDefault.length) PrefValue = eval(' '+PrefValue+' ');
  334. }
  335. return PrefValue;
  336. } else {
  337. for(var i=0;i<USP.valueList.length;i++) {
  338. if(USP.valueList[i].theName==valueName) return USP.valueList[i].theDefault;
  339. }
  340. }
  341. },
  342. invoke: function(){
  343. if(!USP.isVisible) {
  344. USP.showWindow();
  345. for(var i=0;i<USP.valueList.length;i++) {
  346. var curVal;
  347. if(GM_getValue(USP.valueList[i].theName)!=undefined) {
  348. curVal=GM_getValue(USP.valueList[i].theName);
  349. if(typeof USP.valueList[i].theDefault=='object' && USP.valueList[i].theDefault.length) {
  350. // eval JSON string if theDefault is an Array
  351. curVal = eval(' '+curVal+' ');
  352. }
  353. } else {
  354. curVal=USP.valueList[i].theDefault;
  355. }
  356. switch(typeof USP.valueList[i].theDefault) {
  357. case 'boolean':
  358. var isChecked='';
  359. if(curVal) isChecked=' checked';
  360. USP.node.getElementsByClassName('USP-values')[0].innerHTML+='<div>'+USP.valueList[i].theText+' <input class="USP-field'+i+'" type="checkbox" name="'+USP.valueList[i].theName+'"'+isChecked+'></div><br>';
  361. break;
  362. case 'number':
  363. case 'string':
  364. if(USP.valueList[i].theValues) {
  365. var newDiv=document.createElement('div');
  366. newDiv.setAttribute('class', 'US-radio');
  367. newDiv.innerHTML='<div>'+USP.valueList[i].theText+'</div>';
  368. var isChecked;
  369. for(var j=0; j<USP.valueList[i].theValues.length; j++) {
  370. if(USP.valueList[i].theValues[j]==curVal) {isChecked=' checked';} else {isChecked='';}
  371. newDiv.innerHTML+='<p><input class="USP-field'+i+'" type="radio" name="'+USP.valueList[i].theName+'" value="'+USP.valueList[i].theValues[j]+'"'+isChecked+'> '+USP.valueList[i].theValues[j]+'</p>';
  372. }
  373. USP.node.getElementsByClassName('USP-values')[0].appendChild(newDiv);
  374. } else {
  375. USP.node.getElementsByClassName('USP-values')[0].innerHTML+=USP.valueList[i].theText+' <input class="USP-field'+i+'" type="text" size="30" name="'+USP.valueList[i].theName+'" value="'+curVal+'"><br>';
  376. }
  377. break;
  378. case 'object':
  379. if(USP.valueList[i].theDefault.length) {
  380. // An object with length is an Array
  381. var newDiv=document.createElement('div');
  382. newDiv.setAttribute('class', 'US-radio');
  383. newDiv.innerHTML='<div>'+USP.valueList[i].theText+'</div>';
  384. var newSelect=document.createElement('select');
  385. newSelect.setAttribute('name',USP.valueList[i].theName);
  386. newSelect.setAttribute('size', '5');
  387. newSelect.setAttribute('class', 'USP-select'+i);
  388. for(var j=0; j<curVal.length; j++) {
  389. newSelect.innerHTML+='<option class="USP-field'+i+'" value="'+curVal[j]+'">'+curVal[j]+'</option>';
  390. }
  391. newDiv.appendChild(newSelect);
  392. newDiv.innerHTML+='<br />';
  393. var newButton = document.createElement('input');
  394. newButton.setAttribute('type', 'button');
  395. newButton.setAttribute('value', 'X');
  396. newButton.setAttribute('class', 'USP-DelButton'+i);
  397. newDiv.appendChild(newButton);
  398. newDiv.innerHTML+='&nbsp;';
  399. newButton = document.createElement('input');
  400. newButton.setAttribute('type', 'button');
  401. newButton.setAttribute('value', '^');
  402. newButton.setAttribute('class', 'USP-AddButton'+i);
  403. newDiv.appendChild(newButton);
  404. newDiv.innerHTML+='&nbsp;';
  405. newButton = document.createElement('input');
  406. newButton.setAttribute('type', 'button');
  407. newButton.setAttribute('value', 'v');
  408. newButton.setAttribute('class', 'USP-EdtButton'+i);
  409. newDiv.appendChild(newButton);
  410. newDiv.innerHTML+='&nbsp;';
  411. newButton = document.createElement('input');
  412. newButton.setAttribute('type', 'button');
  413. newButton.setAttribute('value', 'A-Z');
  414. newButton.setAttribute('class', 'USP-SrtButton'+i);
  415. newDiv.appendChild(newButton);
  416. newDiv.innerHTML+='<br />';
  417. var newText = document.createElement('input');
  418. newText.setAttribute('type', 'text');
  419. newText.setAttribute('class', 'USP-AddText'+i);
  420. newDiv.appendChild(newText);
  421. USP.node.getElementsByClassName('USP-values')[0].appendChild(newDiv);
  422. }
  423. break;
  424. }
  425. }
  426. USP.styleWindow();
  427. }
  428. }
  429. };
  430.  
  431. window.addEventListener(
  432. 'load',
  433. function () {
  434. // The type of 'theDefault' determines the type of the preference value
  435. USP.init({
  436. theName:'filter',
  437. theText:'Filter:',
  438. theDefault:['Personal', 'Call', 'Zeit', 'Time', 'Agentur', 'M. Thiele', 'Plettenberg', 'Arbeitsvermittlung', 'Buscha', 'Fleischmann-Hahn', 'together group', 'jobs nach mass', 'Deutsche Angestellten Akademie', 'AKPM', 'Sitel', 'K&S-Kommunikation & Service GmbH', 'maXXu GmbH', 'i-potentials GmbH', 'Premium Consultants', 'Mairinger', 'Expero', 'Randstad', 'Permacon', 'Allround Service', 'riedel-personal', 'PRIMAJOB AG', 'FRANZ & WACH', 'STF Placement', 'persona service', 'Scheerbaums Erben', 'Kelly Services', 'Education Campus', 'PersOrange', 'Manpower', 'Job@ctive', 'headwayengineers', 'AlphaConsult', 'AGO', 'DIE WEGBEREITER', 'Bic Consult', 'serviceline', 'www.fairnes-work.de', 'yd. yourdelivery UG', 'KundS', 'Perso Plankontor', 'TEMPTON']
  439. }, {
  440. theName:'action',
  441. theText:'Gefilterte Anbieter',
  442. theValues:['Ausblenden', 'Farbig hinterlegen'],
  443. theDefault:'Ausblenden'
  444. }
  445. );
  446. GM_registerMenuCommand('Optionen des ~'+USP.theScriptName+'~', USP.invoke);
  447. },
  448. true);