AdRemover

This script removes ads on websites.

La data de 09-03-2014. Vezi ultima versiune.

You will need to install an extension such as Tampermonkey, Greasemonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install a user script manager extension to install this script.

(I already have a user script manager, let me install it!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(I already have a user style manager, let me install it!)

// ==UserScript==
// @name       AdRemover
// @version    7.0
// @description  This script removes ads on websites.
// @include    http://*
// @include    https://*
// @exclude    https://www.google.*/*tbm=isch*
// @copyright  2014+, ich01
// @namespace http://userscripts.org/scripts/show/159351
// @grant       GM_getValue
// @grant       GM_setValue
// @grant       GM_*
// ==/UserScript==

//unsafeWindow
var uw = (this.unsafeWindow) ? this.unsafeWindow : window;
//AdRemover object
uw.adremover = {
thisScriptVersion: GM_info.script.version,
startTime: new Date().getMilliseconds(),
isfirefox: false,
testForForbiddenKeywords: function(words) {
	var h_Regexp = new RegExp("ead|add|oad|pad|advanced|grad|has-custom-banner|admin","i");
    if (words.toLowerCase().search(h_Regexp)>-1) {
		return true;   
    } else {
		return false;   
    }
},
undoAdRemoval: function() {},
getElementsByClassNames: function(pattern) {
	if (typeof pattern == 'string') {
		pattern = new RegExp(pattern,"i");
	}
	var el, els = document.body.getElementsByTagName('div');
	var elements = [];
	var i = els.length;
	while (i--){
		el = els[i];
		if (el.className && pattern.test(el.className.toLowerCase()) && adremover.testForForbiddenKeywords(el.className.toLowerCase())==false){
			elements.push(el);
		}
	}
	return elements;
},
getElementsByIdNames: function(pattern) {
	if (typeof pattern == 'string') {
		pattern = new RegExp(pattern);
	}
	var ids1, ids2, ids3, ids4, ids5 = [];
	var els = new Array();
	ids1 = document.body.getElementsByTagName('div');
	ids2 = document.body.getElementsByTagName('img');
	ids3 = document.body.getElementsByTagName('embed');
	ids4 = document.body.getElementsByTagName('iframe');
	ids5 = document.body.getElementsByTagName('p');
	for(var i = ids1.length; i--; els.unshift(ids1[i]));
	for(var j = ids2.length; j--; els.unshift(ids2[j]));
	for(var k = ids3.length; k--; els.unshift(ids3[k]));
	for(var l = ids4.length; l--; els.unshift(ids4[l]));
	for(var m = ids5.length; m--; els.unshift(ids5[m]));
	var el;
	var elements = [];
	var i = els.length;
	while (i>0) {
		i--;
		el = els[i];
		if (el.getAttribute("id") && pattern.test(el.getAttribute("id").toLowerCase()) && adremover.testForForbiddenKeywords(el.getAttribute("id").toLowerCase())==false){
			elements.push(el);
		}
	}
	return elements;
},
labelTextes: [],
getBrowserLanguage: function() {
	adremover.labelTextes = [];
	adremover.labelTextes[0] = "Total";
	adremover.labelTextes[1] = "Elements";
	adremover.labelTextes[2] = "Images";
	adremover.labelTextes[3] = "Objects";
	adremover.labelTextes[4] = "Click for Popup!";
	adremover.labelTextes[5] = "Close popup";
	adremover.labelTextes[6] = "Restore ads partially";
	adremover.labelTextes[7] = "Enable AdRemover on this domain";
	adremover.labelTextes[8] = "General Settings";
	adremover.labelTextes[9] = "Remove normal elements";
	adremover.labelTextes[10] = "Remove images";
	adremover.labelTextes[11] = "Remove iframes";
	adremover.labelTextes[12] = "Remove placeholders";
	adremover.labelTextes[13] = "Ads restored!";
	adremover.labelTextes[14] = "An unknown error occurred in AdRemover "+adremover.thisScriptVersion+".";
	adremover.labelTextes[15] = "AdRemover is now disabled on this domain!";
	adremover.labelTextes[16] = "AdRemover is now enabled on this domain!";
	adremover.labelTextes[17] = "Placeholders";
	adremover.labelTextes[18] = "About";
	adremover.labelTextes[19] = "Author";
	adremover.labelTextes[20] = "Minimized info";
	if (navigator.language.indexOf("de")>=0) {
		//German translation
		adremover.labelTextes[0] = "Gesamt";
		adremover.labelTextes[1] = "Elemente";
		adremover.labelTextes[2] = "Grafiken";
		adremover.labelTextes[3] = "Objekte";
		adremover.labelTextes[4] = "Klick für Popup!";
		adremover.labelTextes[5] = "Popup schließen";
		adremover.labelTextes[6] = "Werbung teilweise wiederherstellen";
		adremover.labelTextes[7] = "Werbeblocker auf dieser Domain aktivieren";
		adremover.labelTextes[8] = "Allgemeine Einstellungen";
		adremover.labelTextes[9] = "Normale Elemente entfernen";
		adremover.labelTextes[10] = "Grafiken entfernen";
		adremover.labelTextes[11] = "Eingebundene Frames entfernen";
		adremover.labelTextes[12] = "Platzhalter entfernen";
		adremover.labelTextes[13] = "Werbung wiederhergestellt";
		adremover.labelTextes[14] = "Ein unbekannter Fehler trat in AdRemover "+adremover.thisScriptVersion+" auf.";
		adremover.labelTextes[15] = "AdRemover ist nun auf dieser Domain deaktiviert!";
		adremover.labelTextes[16] = "AdRemover ist nun auf dieser Domain wieder aktiviert!";
		adremover.labelTextes[17] = "Platzhalter";
		adremover.labelTextes[18] = "Über";
		adremover.labelTextes[19] = "Autor";
		adremover.labelTextes[20] = "Winzige Info";
	}
},
createInfoElement: function(removed_elements, removed_images, removed_objects) {
	document.getElementsByTagName("body")[0].appendChild(document.createElement("adremover"));
	var adrel = document.getElementsByTagName("adremover")[0];
	adrel.style.textAlign="left";
	adrel.style.lineHeight="12px";
	adrel.style.opacity="0.85";
	adrel.style.color="black";
	adrel.style.position="fixed";
	adrel.style.zIndex="9999999999999";
	adrel.style.fontSize="11px";
	adrel.style.top="0px";
	adrel.style.right="0px";
	adrel.style.background="rgba(238, 238, 238,0.9)";
	adrel.style.borderLeft="2px solid cyan";
	adrel.style.borderBottom="2px solid cyan";
	adrel.style.boxShadow="cyan -2px 2px 4px 1px";
	adrel.style.display="block";
	adrel.style.padding="4px";
	adrel.style.maxHeight="150px";
	adrel.style.maxWidth="150px";
	adrel.style.borderBottomLeftRadius="3px";
	adrel.style.transition="all 0.8s ease-out";
	adrel.style.fontFamily="Arial";
	adrel.style.cursor="pointer";
	adrel.addEventListener("click", function() {adremover.createPopup();});
	var allString = "<span style='font-family:Arial;font-weight:bold;font-size:15px;'>AdRemover "+adremover.thisScriptVersion+"</span><br>";
	allString+="<span style='font-family:Arial;font-weight:bold;'>"+adremover.labelTextes[0]+":</span> "+(adremover.removedElements+adremover.removedImages+adremover.removedObjects)+"<br>";
	if (adremover.removedElements>0) {
	allString+=adremover.labelTextes[1]+": "+adremover.removedElements+"<br>";
	}
	if (adremover.removedImages>0) {
	allString+=adremover.labelTextes[2]+": "+adremover.removedImages+"<br>";
	}
	if (adremover.removedObjects>0) {
	allString+=adremover.labelTextes[3]+": "+adremover.removedObjects+"<br>";
	}
	if (adremover.removedPlaceholders>0) {
	allString+=adremover.labelTextes[17]+": "+adremover.removedPlaceholders+"<br>";
	}
	allString+="<span style='font-family:Arial;font-weight:bold;'>"+adremover.labelTextes[4]+"</span>";
	document.getElementsByTagName("adremover")[0].innerHTML=allString;
	setTimeout("adremover.hideInfoElement()", 6000);
},
createMiniInfoElement: function() {
	document.getElementsByTagName("body")[0].appendChild(document.createElement("adremover"));
	var adrel = document.getElementsByTagName("adremover")[0];
	adrel.style.textAlign="left";
	adrel.style.lineHeight="12px";
	adrel.style.opacity="0.85";
	adrel.style.color="black";
	adrel.style.position="fixed";
	adrel.style.zIndex="9999999999999";
	adrel.style.fontSize="11px";
	adrel.style.top="0px";
	adrel.style.right="0px";
	adrel.style.background="rgba(238, 238, 238,0.9)";
	adrel.style.borderLeft="2px solid cyan";
	adrel.style.borderBottom="2px solid cyan";
	adrel.style.boxShadow="cyan -2px 2px 4px 1px";
	adrel.style.display="block";
	adrel.style.padding="4px";
	adrel.style.maxHeight="150px";
	adrel.style.maxWidth="150px";
	adrel.style.borderBottomLeftRadius="3px";
	adrel.style.transition="all 0.8s ease-out";
	adrel.style.fontFamily="Arial";
	adrel.style.cursor="pointer";
	adrel.addEventListener("click", function() {adremover.createPopup();});
	var allString = "<span style='font-family:Arial;font-weight:normal;font-size:12px;'>AdRemover</span><br>";
	document.getElementsByTagName("adremover")[0].innerHTML=allString;
	setTimeout("adremover.hideInfoElement()", 6000);
},
hideInfoElement: function() {
	var adrel = document.getElementsByTagName("adremover")[0];
	adrel.style.opacity="0";
	setTimeout("adremover.hideInfoElement2()", 900);
},
hideInfoElement2: function() {
	var adrel = document.getElementsByTagName("adremover")[0];
	adrel.style.display="none";
},
checkFirefox: function() {
	if (navigator.userAgent.toLowerCase().indexOf("firefox")>-1) {
		adremover.isfirefox = true;
	}
},
initAdremover: function() {
	adremover.getBrowserLanguage();
	console.log("Starting AdRemover "+adremover.thisScriptVersion+" on "+document.location+" ...");
	if (adremover.checkForBlacklist(document.location)==false) {
	adremover.getARSettings();
	adremover.initKeyWordList();
	adremover.initKeyURLList();
	adremover.startCleaning();
	} else {
	adremover.getARSettings();
	adremover.createMiniInfoElement();
	}
},
checkForBlacklist: function() {
	if (GM_getValue("AR_userblacklist")!=undefined && GM_getValue("AR_userblacklist")!=null) {
		if (GM_getValue("AR_userblacklist").indexOf(document.location.host)>=0) {
			return true;
		} else {
			return false;
		}
	} else {
		return false;
	}
},
changeBlacklist: function(formelement) {
	if (formelement.checked==false) {
		GM_setValue("AR_userblacklist",GM_getValue("AR_userblacklist")+";"+document.location.host);
		alert(adremover.labelTextes[15]);
	} else if (formelement.checked==true) {
		var firstChar = GM_getValue("AR_userblacklist").indexOf(document.location.host);
		GM_setValue("AR_userblacklist",GM_getValue("AR_userblacklist").substring(0,firstChar-1)+GM_getValue("AR_userblacklist").substring(firstChar+document.location.host.length));
		alert(adremover.labelTextes[16]);
	} else {
		alert(adremover.labelTextes[14]);
	}
},
keyWordList: [],
keyURLList: [],
initKeyWordList: function() {
	adremover.keyWordList.push("googleafc");
	adremover.keyWordList.push("brandbox");
	adremover.keyWordList.push("adcont");
	adremover.keyWordList.push("watch-channel-brand-div");
	adremover.keyWordList.push("ad_");
	adremover.keyWordList.push("_ad");
	adremover.keyWordList.push("adv");
	adremover.keyWordList.push("ad1");
	adremover.keyWordList.push("-ad");
	adremover.keyWordList.push("ad-");
	adremover.keyWordList.push("adifr");
	adremover.keyWordList.push("promotion");
	adremover.keyWordList.push("rwidesky");
	adremover.keyWordList.push("ads_");
	adremover.keyWordList.push("tvcap");
	adremover.keyWordList.push("adform");
	adremover.keyWordList.push("adbox");
	adremover.keyWordList.push("contentad");
	adremover.keyWordList.push("adcloud");
	adremover.keyWordList.push("werbung");
	adremover.keyWordList.push("billboardcontainer");
	adremover.keyWordList.push("medrec");
	adremover.keyWordList.push("contad");
	adremover.keyWordList.push("headad");
	adremover.keyWordList.push("aswift_");
	adremover.keyWordList.push("topad");
	adremover.keyWordList.push("adwrapper");
	adremover.keyWordList.push("eyecatcher");
	adremover.keyWordList.push("adspecial");
	adremover.keyWordList.push("adholder");
	adremover.keyWordList.push("hpad");
	adremover.keyWordList.push("sponsored");
	adremover.keyWordList.push("adframe");
	adremover.keyWordList.push("adform");
	adremover.keyWordList.push("sky");
	adremover.keyWordList.push("commercial");
	adremover.keyWordList.push("superlayer");
	adremover.keyWordList.push("adsense");
	adremover.keyWordList.push("footerad");
	adremover.keyWordList.push("sgad");
	adremover.keyWordList.push("google-afc");
	adremover.keyWordList.push("sidebanner");
	adremover.keyWordList.push("centerlead");
},
initKeyURLList: function() {
	adremover.keyURLList.push("atdmt.com/MRT");
	adremover.keyURLList.push("cdn.movad.net/");
	adremover.keyURLList.push("redintelligence.net/request");
	adremover.keyURLList.push("ads.adtiger.de/ad");
	adremover.keyURLList.push("ads.newtentionassets.net/asset");
	adremover.keyURLList.push("hosting.adjug.com/AdJug");
	adremover.keyURLList.push("adclient.uimserv.net/html.ng");
	adremover.keyURLList.push("creativeproxy.uimserv.net/?LogoutAdProxy");
	adremover.keyURLList.push("a.ligatus.com/timeout");
	adremover.keyURLList.push("2mdn.net/");
	adremover.keyURLList.push("track.adform.net/ad");
	adremover.keyURLList.push("hosting.adjug.com/Ad");
	adremover.keyURLList.push("ad4mat.de/ads");
	adremover.keyURLList.push("zanox-affiliate.de/ppc");
	adremover.keyURLList.push("ads.bluelithium.com/iframe");
	adremover.keyURLList.push("pagead2.googlesyndication.com/simgad");
	adremover.keyURLList.push("ads.tlvmedia.com/st?ad");
	adremover.keyURLList.push("ad.xtendmedia.com/st?ad");
	adremover.keyURLList.push("zanox-affiliate.de/ppc");
	adremover.keyURLList.push("content.yieldmanager.edgesuite.net/atoms");
	adremover.keyURLList.push("network.adsmarket.com/ceas");
	adremover.keyURLList.push("ad.doubleclick.net/adi");
	adremover.keyURLList.push(".ib.adnxs.com/if?");
	adremover.keyURLList.push("adserver.freenet.de/Ads");
	adremover.keyURLList.push("i.ligatus.com/com_ms");
	adremover.keyURLList.push("ds.serving-sys.com/BurstingRes");
	adremover.keyURLList.push("tags.qservz.com/ct_adi");
	adremover.keyURLList.push("image.adjug.com/Advertiser");
	adremover.keyURLList.push("tags.qservz.com/ct_adi");
	adremover.keyURLList.push("googleads.g.doubleclick.net/pagead");
	adremover.keyURLList.push("content-result-ads");
	adremover.keyURLList.push("ads.newtention.net/ads");
	adremover.keyURLList.push("uk-ads.openx.net");
	adremover.keyURLList.push("tag.admeld.com/imp/iframe");
	adremover.keyURLList.push("ad.ad-srv.net/request_content.php");
	adremover.keyURLList.push("ads.yahoo.com/imp");
},
removedElements: 0,
removedImages: 0,
removedObjects: 0,
removedPlaceholders: 0,
removeElements: function() {
	//Remove ID's
	var ak_el;
	for(var i = 0;i < adremover.keyWordList.length;i++) {
		ak_el = adremover.getElementsByIdNames(adremover.keyWordList[i]);
		for (var i2 = 0;i2<ak_el.length;i2++) {
			if (ak_el[i2]) {
			ak_el[i2].style.display="none";
			adremover.removedElementsArray.push(ak_el[i2]);
			adremover.removedElements++;
			}
		}
	}
	//Remove classes
	var ak_el2;
	for(var k = 0;k < adremover.keyWordList.length;k++) {
		ak_el2 = adremover.getElementsByClassNames(adremover.keyWordList[k]);
		for (var j = 0;j < ak_el2.length;j++) {
			if (ak_el2[j]) {
				ak_el2[j].style.display="none";
				adremover.removedElementsArray.push(ak_el2[j]);
				adremover.removedElements++;
			}
		}
	}
},
removeObjects: function() {
	//Remove objects
	//Embeds
	for (var a = 0;a<document.getElementsByTagName("embed").length;a++) {
		for (var b = 0;b < adremover.keyURLList.length;b++) {
			if (document.getElementsByTagName("embed")[a]!=null && document.getElementsByTagName("embed")[a].getAttribute("src")!=undefined && document.getElementsByTagName("embed")[a].getAttribute("src").length>5 && document.getElementsByTagName("embed")[a].getAttribute("src").toString().length>5 && document.getElementsByTagName("embed")[a].getAttribute("src").toString().indexOf(adremover.keyURLList[b])>=0) {
				adremover.removedObjectsArray.push(document.getElementsByTagName("embed")[a].getAttribute("src"));
				document.getElementsByTagName("embed")[a].parentNode.removeChild(document.getElementsByTagName("embed")[a]);
				adremover.removedObjects++;
			}
		}
	}
	//Iframes
	for (var c = 0;c<document.getElementsByTagName("iframe").length;c++) {
		for (var d = 0;d<adremover.keyURLList.length;d++) {
			if (document.getElementsByTagName("iframe")[c]!=null && document.getElementsByTagName("iframe")[c].getAttribute("src")!=null && document.getElementsByTagName("iframe")[c].getAttribute("src")!=undefined && document.getElementsByTagName("iframe")[c].getAttribute("src").length>5 && document.getElementsByTagName("iframe")[c].getAttribute("src").toString().length>5 && document.getElementsByTagName("iframe")[c].getAttribute("src").toString().indexOf(adremover.keyURLList[d])>=0) {
				adremover.removedObjectsArray.push(document.getElementsByTagName("iframe")[c].getAttribute("src"));
				document.getElementsByTagName("iframe")[c].parentNode.removeChild(document.getElementsByTagName("iframe")[c]);
				adremover.removedObjects++;
			}
		}
	}
},
removePlaceholders: function() {
	var firstRemoved = false;
	for (var i = 0;i<adremover.removedElementsArray.length;i++)  {
		if (adremover.removedElementsArray[i].parentNode!=null) {
			if (adremover.removedElementsArray[i].parentNode.children.length==1) {
				adremover.removedElementsArray[i].parentNode.style.display="none";
				adremover.removedPlaceholdersArray.push(adremover.removedElementsArray[i].parentNode);
				adremover.removedPlaceholders++;
				firstRemoved = true;
			}
			if (adremover.removedElementsArray[i].parentNode.parentNode!=null) {
				if (adremover.removedElementsArray[i].parentNode.parentNode.children.length==1 && firstRemoved==true) {
						adremover.removedElementsArray[i].parentNode.parentNode.style.display="none";
						adremover.removedPlaceholdersArray.push(adremover.removedElementsArray[i].parentNode.parentNode);
						adremover.removedPlaceholders++;
				}
			}
		}
		firstRemoved = false;
	}
	for (var j = 0;j<adremover.removedImagesArray.length;j++)  {
		if (adremover.removedImagesArray[j].parentNode!=null) {
			if (adremover.removedImagesArray[j].parentNode.children.length==1) {
				adremover.removedImagesArray[j].parentNode.style.display="none";
				adremover.removedPlaceholdersArray.push(adremover.removedImagesArray[j].parentNode);
				adremover.removedPlaceholders++;
				firstRemoved = true;
			}
			if (adremover.removedImagesArray[j].parentNode.parentNode!=null) {
				if (adremover.removedImagesArray[j].parentNode.parentNode.children.length==1 && firstRemoved==true) {
						adremover.removedImagesArray[j].parentNode.parentNode.style.display="none";
						adremover.removedPlaceholdersArray.push(adremover.removedImagesArray[j].parentNode.parentNode);
						adremover.removedPlaceholders++;
				}
			}
		}
		firstRemoved = false;
	}
},
removeImages: function() {
	//Imgs
	for(var f = 0;f < document.getElementsByTagName("img").length;f++) {
		for(var h = 0;h < adremover.keyURLList.length;h++) {
			if (document.getElementsByTagName("img")[f]!=null && document.getElementsByTagName("img")[f].getAttribute("src")!=null && document.getElementsByTagName("img")[f].getAttribute("src").indexOf(adremover.keyURLList[h])>-1) { 
				document.getElementsByTagName("img")[f].style.display="none";
				adremover.removedImagesArray.push(document.getElementsByTagName("img")[f]);
				adremover.removedImages++;
			}
		}
	}
},
createPopup: function() {
	//getting information about removed elements
	var string2 = "";
	for (var i = 0;i<adremover.removedElementsArray.length;i++) {
		if (adremover.removedElementsArray[i]!=null) {
			string2+=adremover.removedElementsArray[i].tagName+" [class="+adremover.removedElementsArray[i].className+"] [id="+adremover.removedElementsArray[i].getAttribute("id")+"]<br>";
		}
	}
	for (var j = 0;j<adremover.removedImagesArray.length;j++) {
		if (adremover.removedImagesArray[j]!=null) {
			string2+=adremover.removedImagesArray[j].tagName+" [class="+adremover.removedImagesArray[j].className+"] [id="+adremover.removedImagesArray[j].getAttribute("id")+"] [src="+adremover.removedImagesArray[j].getAttribute("src")+"]<br>";
		}
	}
	for (var k = 0;k<adremover.removedObjectsArray.length;k++) {
		string2+="Iframe/Object [src="+adremover.removedObjectsArray[k]+"]<br>";
	}
	for (var l = 0;l<adremover.removedPlaceholdersArray.length;l++) {
		string2+="PH: "+adremover.removedPlaceholdersArray[l].tagName+" [class="+adremover.removedPlaceholdersArray[l].className+"] [id="+adremover.removedPlaceholdersArray[l].getAttribute("id")+"]<br>";
	}
	//Create popup
	document.getElementsByTagName("body")[0].appendChild(document.createElement("adremoverpopup"));
	var adpopup = document.getElementsByTagName("adremoverpopup")[0];
	var left = (window.innerWidth - 500) / 2;
	var top = (window.innerHeight - 350) / 2;
	adpopup.style.top=top + "px";
	adpopup.style.left=left + "px";
	adpopup.style.background="rgba(200,200,200,0.9)";
	adpopup.style.border="1px black solid";
	adpopup.style.position="fixed";
	adpopup.style.fontFamily="Arial";
	adpopup.style.lineHeight="17px";
	adpopup.style.display="block";
	adpopup.style.width="500px";
	adpopup.style.height="350px";
	adpopup.style.zIndex="999999999999";
	adpopup.style.borderRadius="3px";
	adpopup.style.transition="opacity 0.2s ease";
	adpopup.style.textAlign="left";
	adpopup.style.paddingLeft="5px";
	adpopup.style.overflow="scroll";
	adpopup.style.color="black";
	adpopup.style.boxShadow="0px 0px 2px 3px rgba(0,0,0,0.5)";
	var string1 = "<span style='left:-1px;background:rgb(245,233,237);width:97%;margin-left:0px;position:absolute;padding:7px;font-family:Arial;font-size:16px;font-weight:bold;color:black;'>AdRemover " + adremover.thisScriptVersion +"</span>";
	string1+="<br><br>";
	string1+="<span style='background-color:rgba(118,105,199,0.7);color:white;font-weight:bold;font-famliy:Arial;width:50%;border-radius:3px;padding:1px;position:absolute;'>Status</span><br>";
	string1+="Runtime: "+adremover.AR_milliseconds+" ms";
	string1+="<br>"+adremover.labelTextes[0]+": "+(adremover.removedElements+adremover.removedObjects+adremover.removedImages);
	string1+="<br>"+adremover.labelTextes[1]+": "+adremover.removedElements;
	string1+="<br>"+adremover.labelTextes[2]+": "+adremover.removedImages;
	string1+="<br>"+adremover.labelTextes[3]+": "+adremover.removedObjects;
	string1+="<br>"+adremover.labelTextes[17]+": "+adremover.removedPlaceholders;
	string1+="<br><input type=button value='"+adremover.labelTextes[5]+"' onclick=adremover.closePopup();>";
	string1+="<br><br>";
	string1+="<span style='background-color:rgba(118,105,199,0.7);color:white;font-weight:bold;font-family:Arial;width:50%;border-radius:3px;padding:1px;position:absolute;'>Extras</span><br>";
	string1+="<input type=button value='"+adremover.labelTextes[6]+"' onclick=adremover.restoreAds(this);><br>";
	string1+="<input onchange=adremover.changeBlacklist(this); type=checkbox";
	if (adremover.checkForBlacklist(document.location.host)==false) {
		string1+=" checked";
	}	
	string1+="> "+adremover.labelTextes[7];
	string1+="<br><br>";
	string1+="<span style='background-color:rgba(118,105,199,0.7);color:white;font-weight:bold;font-famliy:Arial;width:50%;border-radius:3px;padding:1px;position:absolute;'>"+adremover.labelTextes[8]+"</span><br>";
	string1+="<input onclick=adremover.setAR_elements_activated(this); type=checkbox";
	if (adremover.AR_elements_activated==true) {
		string1+=" checked";
	}
	string1+="> "+adremover.labelTextes[9]+"<br>";
	string1+="<input onclick=adremover.setAR_images_activated(this); type=checkbox";
	if (adremover.AR_images_activated==true) {
		string1+=" checked";
	}
	string1+="> "+adremover.labelTextes[10]+"<br>";
	string1+="<input onclick=adremover.setAR_objects_activated(this); type=checkbox";
	if (adremover.AR_objects_activated==true) {
		string1+=" checked";
	}
	string1+="> "+adremover.labelTextes[11]+"<br>";
	string1+="<input onclick=adremover.setAR_placeholders_activated(this); type=checkbox";
	if (adremover.AR_placeholders_activated==true) {
		string1+=" checked";
	}
	string1+="> "+adremover.labelTextes[12]+"<br>";
	string1+="<input onclick=adremover.setAR_minimode_activated(this); type=checkbox";
	if (adremover.AR_minimode_activated==true) {
		string1+=" checked";
	}
	string1+="> "+adremover.labelTextes[20]+"<br>";
	string1+="<br>";
	string1+="<span style='background-color:rgba(118,105,199,0.7);color:white;font-weight:bold;font-famliy:Arial;width:50%;border-radius:3px;padding:1px;position:absolute;'>"+adremover.labelTextes[18]+"</span><br>";
	string1+=adremover.labelTextes[19]+": ich01";
	string1+="<br>Homepage: <a href=http://userscripts.org/scripts/show/159351 target=_blank alt=Homepage>*click*</a>";
	string1+="<br>Copyright: 2014+, ich01";
	string1+="<br><br>";
	string1+="<span style='background-color:rgba(118,105,199,0.7);color:white;font-weight:bold;font-famliy:Arial;width:50%;border-radius:3px;padding:1px;position:absolute;'>Details</span><br>";
	string1+=string2;
	adpopup.innerHTML=string1;
},
startCleaning: function() {
	if (adremover.AR_elements_activated==true) {
		adremover.removeElements();
	}
	if (adremover.AR_images_activated==true) {
		adremover.removeImages();
	}
	if (adremover.AR_objects_activated==true) {
		adremover.removeObjects();
	}
	if (adremover.AR_placeholders_activated==true) {
		adremover.removePlaceholders();
	}
	if (adremover.removedElements>0 || adremover.removedObjects>0 || adremover.removedImages>0) {
		if (adremover.AR_minimode_activated==false) {
			adremover.createInfoElement();
		} else {
			adremover.createMiniInfoElement();
		}
	}
},
closePopup: function() {
	var adpopup = document.getElementsByTagName("adremoverpopup")[0];
	adpopup.style.opacity="0";
	setTimeout("adremover.closePopup2()", 300);
},
closePopup2: function() {
	var adpopup = document.getElementsByTagName("adremoverpopup")[0];
	adpopup.style.display="none";
},
setAR_elements_activated: function(formelement) {
	if (formelement.checked==true) {
		GM_setValue("AR_elements_activated",true);
	} else if (formelement.checked==false) {
		GM_setValue("AR_elements_activated",false);
	} else {
		alert(adremover.labelTextes[14]);
	}
},
setAR_images_activated: function(formelement) {
	if (formelement.checked==true) {
		GM_setValue("AR_images_activated",true);
	} else if (formelement.checked==false) {
		GM_setValue("AR_images_activated",false);
	} else {
		alert(adremover.labelTextes[14]);
	}
},
setAR_objects_activated: function(formelement) {
	if (formelement.checked==true) {
		GM_setValue("AR_objects_activated",true);
	} else if (formelement.checked==false) {
		GM_setValue("AR_objects_activated",false);
	} else {
		alert(adremover.labelTextes[14]);
	}
},
setAR_placeholders_activated: function(formelement) {
	if (formelement.checked==true) {
		GM_setValue("AR_placeholders_activated",true);
	} else if (formelement.checked==false) {
		GM_setValue("AR_placeholders_activated",false);
	} else {
		alert(adremover.labelTextes[14]);
	}
},
setAR_minimode_activated: function(formelement) {
	if (formelement.checked==true) {
		GM_setValue("AR_minimode_activated",true);
	} else if (formelement.checked==false) {
		GM_setValue("AR_minimode_activated",false);
	} else {
		alert(adremover.labelTextes[14]);
	}
},
getARSettings: function() {
	//Elements
	if (GM_getValue("AR_elements_activated")!=null && GM_getValue("AR_elements_activated")!=undefined) {
		adremover.AR_elements_activated = GM_getValue("AR_elements_activated");
	} else {
		GM_setValue("AR_elements_activated",true);
		adremover.AR_elements_activated = true;
	}
	//Objects
	if (GM_getValue("AR_objects_activated")!=null && GM_getValue("AR_objects_activated")!=undefined) {
		adremover.AR_objects_activated = GM_getValue("AR_objects_activated");
	} else {
		GM_setValue("AR_objects_activated",true);
		adremover.AR_objects_activated = true;
	}
	//Images
	if (GM_getValue("AR_images_activated")!=null && GM_getValue("AR_images_activated")!=undefined) {
		adremover.AR_images_activated = GM_getValue("AR_images_activated");
	} else {
		GM_setValue("AR_images_activated",true);
		adremover.AR_images_activated = true;
	}
	//Placeholders
	if (GM_getValue("AR_placeholders_activated")!=null && GM_getValue("AR_placeholders_activated")!=undefined) {
		adremover.AR_placeholders_activated = GM_getValue("AR_placeholders_activated");
	} else {
		GM_setValue("AR_placeholders_activated",true);
		adremover.AR_placeholder_activated = true;
	}
	//Mini Info enabled
	if (GM_getValue("AR_minimode_activated")!=null && GM_getValue("AR_minimode_activated")!=undefined) {
		adremover.AR_minimode_activated = GM_getValue("AR_minimode_activated");
	} else {
		GM_setValue("AR_minimode_actived",false);
		adremover.AR_minimode_activated = false;
	}
	//Everything disabled
	if (adremover.AR_elements_activated==false && adremover.AR_images_activated==false && adremover.AR_objects_activated==false && adremover.AR_placeholders_activated==false) {
		adremover.createMiniInfoElement();
	}
},
AR_elements_activated: true,
AR_objects_activated: true,
AR_images_activated: true,
AR_minimode_activated: false,
AR_placeholders_activated: true,
restoreAds: function(formelement) {
	var restoredElements = 0;
	for (var i = 0;i<adremover.removedElementsArray.length;i++) {
		if	(adremover.removedElementsArray[i]!=null) {
			adremover.removedElementsArray[i].style.display="block";
			restoredElements++;
		}
	}
	for (var j = 0;j<adremover.removedImagesArray.length;j++) {
		if (adremover.removedImagesArray[j]!=null) {
			adremover.removedImagesArray[j].style.display="block";
			restoredElements++;
		}
	}
	for (var k = 0;k<adremover.removedPlaceholdersArray.length;k++) {
		if (adremover.removedPlaceholdersArray[k]!=null) {
			adremover.removedPlaceholdersArray[k].style.display="block";
			restoredElements++;
		}
	}
	console.log("Restored "+restoredElements+" elements");
	formelement.value=adremover.labelTextes[13];
	formelement.disabled=true;
},
removedElementsArray: [],
removedImagesArray: [],
removedObjectsArray: [],
removedPlaceholdersArray: [],
AR_milliseconds: 0
};
//Init AdRemover
window.adremover = uw.adremover;
uw.adremover.initAdremover();
uw.adremover.startCleaning();
var endTime = new Date().getMilliseconds();
var fullTime = -1;
if (adremover.startTime>endTime) {
	fullTime = (1000-adremover.startTime) + endTime;
} else {
	fullTime = endTime - adremover.startTime;
}
adremover.AR_milliseconds=fullTime;
uw.adremover.AR_milliseconds=fullTime;
console.log("AdRemover "+uw.adremover.thisScriptVersion+" has finished! [Took "+fullTime+" ms]");