// ==UserScript==
// @name          Experts-Exchange Blacklist Enforcer
// @author        Ciuly  
// @namespace     http://www.ciuly.com
// @description   Notifies you when you are viewing a blacklisted askers question
// @include       http://www.experts-exchange.com/*/Q_*.html*
// @include       http://www.experts-exchange.com/*/Q-*.html*
// ==/UserScript==

var forms, form, uid, uname, div;
var is_opera = navigator.userAgent.toLowerCase().indexOf('opera') != -1;
var wnd;

if (is_opera)
  wnd = window;
else
  wnd = unsafeWindow;

//you must place correct id in the following line (this is specific to each expert):

  wnd.ciuly_filterID = 384;

  wnd.ciuly_get = function(url) {
	var request = new XMLHttpRequest();
	var error = 0;
	while (error!=-1){
		request.open("GET", url, false);
//		request.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
		request.send(null);
	
		var error = request.responseText.indexOf("Sorry, an error occurred.");
		if (error!=-1){
			w = window.open('','');
			w. document.write(request.responseText);
			w.focus();
			if (confirm("Error getting url. Try again?"))
				; 
			else
				return "";
		}
	}
	return request.responseText;
  };

var asker = "";

spans = document.getElementsByTagName("span");
for (var i=0; i<spans.length; i++){
  span = spans.item(i);
  aas = span.getElementsByTagName("a");
  if (span.className == "value" && aas.length==1){
    asker = aas.item(0).innerHTML;
    break;
  }
}

if (asker.length>0){
    askers = wnd.ciuly_get("http://www.experts-exchange.com/experts.jsp?ssfSearchID="+wnd.ciuly_filterID+"&etIndex=2&bogus="+encodeURIComponent(new Date())+"#expertTools");
    i = askers.indexOf("addTermQuery(new TermQuery(false,")+33;
    while (i<askers.length && askers[i] != "'")
      i++;
    askers = askers.substr(i+1, askers.length);
    i=0;
    while (i<askers.length && askers[i] != "'")
      i++;
    askers = askers.substr(0, i);

    arr = askers.split(" ");
    for (var i=0; i<arr.length; i++)
      if (arr[i].toLowerCase() == asker.toLowerCase()){
        alert("This asker is blacklisted.");
        break;
      }
}