// ==UserScript==
// @name           Google Search Site-block
// @namespace      http://note.openvista.jp/ns
// @description    Selected web-sites aren't displayed from Google search result.
// @include        http://www.google.*
// ==/UserScript==

(function() {

	// ブロックするサイト
	var blocks = new Array(
		"del.icio.us",
		"buzzurl.jp",
		"(a|b|r|mgw).hatena.ne.jp",
		"1470.net",
		"pookmark.jp",
		"bookmarks.yahoo.co.jp",
		"clip.(nifty|livedoor).com",
		"(esearch|tag|pt.afl).rakuten.co.jp",
		"psearch.yahoo.co.jp"
	);
	var mode = "hidden"; // "hidden" or "weaken"
	
	var tag = "a";
	var searchClass = "l";
	
	var classElements = new Array();	
	var els = document.getElementsByTagName(tag);
	var elsLen = els.length;
	var pattern = new RegExp("(^|\\s)"+searchClass+"(\\s|$)");
	for (i = 0, j = 0; i < elsLen; i++) {
		if ( pattern.test(els[i].className) ) {
			classElements[j] = els[i];
			for (k = 0; k < blocks.length; k++){
				regexp = new RegExp("^http:\/\/" + blocks[k].replace(".", "\.") + "\/", "i");
				if (classElements[j].href.match(regexp) != null){
					if (mode == "hidden"){
						classElements[j].parentNode.parentNode.style.display = "none";
					}else if (mode == "weaken"){
						classElements[j].parentNode.firstChild.style.color = "#ccc";
						classElements[j].parentNode.nextSibling.style.display = "none";
					}
				}
			}
			j++;
		}
	}
	
})();
