// ==UserScript==
// @name        Ignore not Creative-Commons Flickr Photos
// @namespace   http://lowreal.net/
// @include     http://www.flickr.com/photos/*
// ==/UserScript==


(function () {

	$X("//div[@class='StreamView' and not(.//img[@src='/images/icon_creative_commons.gif'])]").forEach(function (item) {
		item.style.opacity = "0.3";

		item.addEventListener("mouseover", function (e) {
			e.currentTarget.style.opacity = "1";
			e.stopPropagation();
		}, false);

		item.addEventListener("mouseout", function (e) {
			e.currentTarget.style.opacity = "0.3";
			e.stopPropagation();
		}, false);
	});


	function $X (exp, context) {
		if (!context) context = document;
		var resolver = function (prefix) {
			var o = document.createNSResolver(context)(prefix);
			return o ? o : (document.contentType == "text/html") ? "" : "http://www.w3.org/1999/xhtml";
		}
		var exp = document.createExpression(exp, resolver);

		var result = exp.evaluate(context, XPathResult.ANY_TYPE, null);
		switch (result.resultType) {
			case XPathResult.STRING_TYPE : return result.stringValue;
			case XPathResult.NUMBER_TYPE : return result.numberValue;
			case XPathResult.BOOLEAN_TYPE: return result.booleanValue;
			case XPathResult.UNORDERED_NODE_ITERATOR_TYPE: {
				result = exp.evaluate(context, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
				var ret = [];
				for (var i = 0, len = result.snapshotLength; i < len ; i++) {
					ret.push(result.snapshotItem(i));
				}
				return ret;
			}
		}
		return null;
	}


})();
