// ==UserScript==
// @name           WZL filter
// @version        1.0
// @namespace      http://www.iescripts.org
// @creator        SaWey
// @description    Filter WZL fun page naar wens
// @include        http://*wzl.be/fun/index.asp?par=f_day*
// @include        http://*wijfzonderlijf.be/fun/index.asp?par=f_day*
// @include        http://*wzl.be/fun/
// @include        http://*wijfzonderlijf.be/fun/

// ==/UserScript==
var lijst = 0;//blacklist by default
if(PRO_getValue("wzlLijst") != null){
	lijst = PRO_getValue("wzlLijst")
}
if(lijst == 0){
	blacklist();	
}else{
	whitelist();	
}



//extra filtermenu aanmaken
var tdArr = document.getElementsByTagName("td");
for(i=0; i<tdArr.length;i++){
	if(tdArr[i].className=="right"){
		//we zitten aan de items
		var  parent_td = tdArr[i];
		var parent_header = parent_td.getElementsByTagName("FORM");
		
		var br = document.createElement("BR");
		parent_header[0].appendChild(br);
		var whIcon = "";
		var blIcon = "none";
		if(lijst == 1){
			whIcon = "none";
			blIcon = "";
		}
		 
		var title = document.createElement("H2");
		title.innerHTML = '<img alt="Toon lijst" src="http://www.wzl.be/imgs/tabs/fun/fun_icon.gif" border="0" height="9" width="11" onClick="showBL();" style="cursor: pointer;"/> ADV FILTER &nbsp;&nbsp;&nbsp;<img id="whitelisticon" alt="Toggle whitelist" style="display:'+whIcon+';" src="http://www.wzl.be/imgs/tabs/my/my_icon.gif" border="0" height="9" width="11" onClick="activateWhitelist();" style="cursor: pointer;"/><img id="blacklisticon" alt="Toggle blacklist" style="display:'+blIcon+';" src="http://www.wzl.be/imgs/tabs/balzak/balzak_icon.gif" border="0" height="9" width="11" onClick="activateBlacklist();" style="cursor: pointer;"/>';
		parent_header[0].appendChild(title);
		
		var descr = document.createElement("B");
		descr.id = "lijstTitel";
		if(lijst == 0){
			descr.innerHTML = 'Blacklist: ';
		}else{
			descr.innerHTML = 'Whitelist: ';
			}
		
		parent_header[0].appendChild(descr);
		
		
		var input = document.createElement("input");
		input.type = "text";
		input.id = "blacklistMe";
		input.name = "blacklistMe";
		input.width = 130;
		parent_header[0].appendChild(input);
	
		var img = document.createElement("span");
		img.id = "blacklistMeImg";
		img.innerHTML = '<img alt="Voeg toe aan lijst!" onClick="addToBlacklist(document.getElementById(\'blacklistMe\').value);" src="http://www.wzl.be/imgs/common/filter.gif" style="cursor: pointer;"/>';
		parent_header[0].appendChild(img);
		
		var bl = document.createElement("span");
		bl.id = "blList";
		parent_header[0].appendChild(bl);
	}
}

function addToBlacklist(string){
	if(trim(string) == ""){
		alert("Gelieve een waarde in te vullen.");		
	}else{
		var str = PRO_getValue("wzlBL");
		PRO_setValue("wzlBL", str + "|" + trim(string));	
		blacklist()
		document.getElementById("blacklistMe").value = "Toegevoegd";
		setTimeout("document.getElementById(\"blacklistMe\").value = \"\"",500);
		
	}
}

function blacklist(){
	var str = PRO_getValue("wzlBL");
	strArr = str.split("|");
	var blacklist = new Array();
	for(n=0; n<strArr.length; n++){
		if(trim(strArr[n]) != ""){
			blacklist[n] = strArr[n];
		}
	}
	var tdArr = document.getElementsByTagName("td");
	for(i=0; i<tdArr.length;i++){
		if(tdArr[i].className=="center"){
			var  parent_td = tdArr[i];
			var items = parent_td.getElementsByTagName("td");
			for(o=0; o<items.length; o++){
				for(p=0; p<blacklist.length; p++){
					if(items[o].innerHTML.match(blacklist[p]) && blacklist[p] != null){
						items[o].parentNode.style.display = "none";					
					}
				}
			}
		
		}
	}
}

function showBL(){
	var str = PRO_getValue("wzlBL");
	strArr = str.split("|");
	var blacklist = new Array();
	var bl = document.getElementById("blList");
	bl.innerHTML = " ";
	for(n=0; n<strArr.length; n++){
		//alert(strArr[n])
		if(trim(strArr[n]) != ""){
			bl.innerHTML += "<br /><img alt=\"Verwijder uit lijst!\" onClick=\"verwVanBlacklist(\'"+strArr[n]+"\');\" src=\"http://www.wzl.be/imgs/common/hot2.gif\"  style=\"cursor: pointer;\"/>" + strArr[n];
		}
	}
}


function verwVanBlacklist(string){
	var str = PRO_getValue("wzlBL");
	strArr = str.split("|");
	var blacklist = new Array();
	var blacklistStr = "";
	var bl = document.getElementById("blList");
	bl.innerHTML = " ";
	for(n=0; n<strArr.length; n++){
		if(strArr[n] != string && strArr[n] != ""){
			blacklistStr += "|" + strArr[n];
		}else{
			blacklistStr += "";
			}
	}
	PRO_setValue("wzlBL", blacklistStr);
	window.location=window.location.href;
}







//whitelist werkt nog niet echt :-)
function whitelist(){
	var str = PRO_getValue("wzlBL");
	strArr = str.split("|");
	var whitelist = new Array();
	for(n=0; n<strArr.length; n++){
		if(trim(strArr[n]) != ""){
			whitelist[n] = strArr[n];
		}
	}
	var ko = 0;
	var temp = new Array();
	var tdArr = document.getElementsByTagName("td");
	for(i=0; i<tdArr.length;i++){
		if(tdArr[i].className=="center"){
			var  parent_td = tdArr[i];
			var items = parent_td.getElementsByTagName("td");
			for(o=0; o<items.length; o++){
				for(p=0; p<whitelist.length; p++){
					if(items[o].innerHTML.match(whitelist[p]) && whitelist[p] != null){
						temp.push(o);
						//items[o].parentNode.style.display = "";	
					}else{
						items[o].parentNode.style.display = "none";	
					}
				}
			}
			for(o=0; o<temp.length; o++){
				items[temp[o]].parentNode.style.display = "";
			}
		
		}
	}
}

function trim(value) {
  value = value.replace(/^\s+/,''); 
  value = value.replace(/\s+$/,'');
  return value;
}

function activateWhitelist(){
	PRO_setValue("wzlLijst", 1);	
	whitelist();
	var img_white = document.getElementById("whitelisticon");
	img_white.style.display = "none";
	var img_black = document.getElementById("blacklisticon");
	img_black.style.display = "";
	var titel = document.getElementById("lijstTitel");
	titel.innerHTML = "Whitelist: ";
}

function activateBlacklist(){
	PRO_setValue("wzlLijst", 0);	
	window.location=window.location.href;
	var img_white = document.getElementById("whitelisticon");
	img_white.style.display = "";
	var img_black = document.getElementById("blacklisticon");
	img_black.style.display = "none";
	var titel = document.getElementById("lijstTitel");
	titel.innerHTML = "Blacklist: ";
}

var linksArr = document.getElementsByTagName("a");
for(i=0; i < linksArr.length; i++){
	if(linksArr[i].innerHTML == "Wzl Rules"){
		var linkRules = linksArr[i];
		var resetLink = document.createElement("a");
		var streepje = document.createElement("span");
		streepje.innerHTML = "&nbsp; | <a href=\"javascript:void(0)\" onClick=\"herstel()\" >Reset WZL Adv Filter</a>";
		linkRules.appendChild(streepje);
	}
}


function herstel(){
	var ja = confirm("Bent u zeker dat u de Advanced Filter wilt herstellen?");
	if(ja){
		PRO_setValue("wzlBL", "");	
		PRO_setValue("wzlLijst", 0);	
		alert("WZL Filter reset uitgevoerd");
		window.location=window.location.href;
	}
}







