// ==UserScript==
// @name          knittyFilter2
// @namespace     http://www.houseofcritters.org/widget/
// @include       http://www.knitty.com*PATT*
// @description	  Filter out images on knitty for printing.
// ==/UserScript==
// Notes:
//   * is a wildcard character


(function() {

//figure out where to put the "print" button
	tds = document.getElementsByTagName("td");
	var foundtd;

	for (var i = 0; i<tds.length; i++)
	{

		if (tds[i].getAttribute('class') == "inthisissue")
		{
		//	alert ("Found inthisissue");
			foundtd = tds[i];
			break;
		}
	}

	var a = document.createElement('a')
	var linktxt = document.createTextNode('Trim for printing')
	a.href = 'javascript:void(0)'
	a.name = 'cleanprint';
	a.addEventListener("click", cleanprint, false);
	a.appendChild(linktxt);
	foundtd.insertBefore(a, foundtd.childNodes[0]);


	}



());


function cleanprint(){



	tds = document.getElementsByTagName("td");


	var newtd = document.createElement("td");

	for ( var i = 0; i<tds.length; i++) {
		var currtd = tds[i];
		if (currtd.getAttribute("class") == "inthisissue")
		{
			newtd = tds[i+1].cloneNode(true);
			break;
		}



	}


while(document.body.firstChild.nextSibling)
{
	document.body.removeChild(document.body.firstChild.nextSibling);
}

document.body.innerHTML = newtd.innerHTML;


	imgsblacklist = new RegExp("(knitty.jpg|patterns.gif|blank.gif|spacer.gif|pinkneedle.gif|ads)", "gi");
	imgs = document.getElementsByTagName("img");
	for (var i = 0; i<imgs.length; i++)
	{
		if (imgsblacklist.test(imgs[i].src)) {
			imgs[i].style.display = 'none';
			imgs[i].src = "";
		}
	}

	spansblacklist = new RegExp("(pattnav|inthisissue)","gi");
	spans = document.getElementsByTagName("span");
	for (var i=0; i<spans.length; i++)
	{
		if (spansblacklist.test(spans[i].className)){
			//spans[i].style.display = 'none';
			spans[i].parentNode.removeChild(spans[i]);
		}
	}

		for (var i = 0; i<imgs.length; i++)
	{
		if (imgsblacklist.test(imgs[i].src)) {
			imgs[i].style.display = 'none';
			imgs[i].src = "";
		}
	}

	spansblacklist = new RegExp("(pattnav|inthisissue)","gi");
	spans = document.getElementsByTagName("span");
	for (var i=0; i<spans.length; i++)
	{
		if (spansblacklist.test(spans[i].getAttribute("class"))){
			//spans[i].style.display = 'none';
			spans[i].parentNode.removeChild(spans[i]);
		}
	}

};
