// ==UserScript==
// @name          knittyFiltertest406
// @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;
		}
	}

		mytable=document.createElement("ul");

                // creates an element whose tag name is TD
                mycurrent_cell2=document.createElement("li");
		mycurrent_cell=document.createElement("li");
                // creates a Text Node

	var a = document.createElement('a')
	var linktxt = document.createTextNode('Print with Images')
	a.href = 'javascript:void(0)'
	a.name = 'cleanprint';
	a.addEventListener("click", cleanprint, false);
	a.appendChild(linktxt);


                // appends the Text Node we created into the cell TD
                mycurrent_cell.appendChild(a);
                mytable.appendChild(mycurrent_cell);

var a = document.createElement('a')
	var linktxt = document.createTextNode('Print Only Text')
	a.href = 'javascript:void(0)'
	a.name = 'cleanprinttext';
	a.addEventListener("click", cleanprinttext, false);
	a.appendChild(linktxt);



		mycurrent_cell2.appendChild(a);


                // appends the cell TD into the row TR

                mycurrent_cell2.appendChild(a);
                mytable.appendChild(mycurrent_cell2);


foundtd.insertBefore(mytable, 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]);
		}
	}

};

function cleanprinttext(){

function addGlobalStyle(css) {
    var head, style;
    head = document.getElementsByTagName('head')[0];
    if (!head) { return; }
    style = document.createElement('style');
    style.type = 'text/css';
    style.innerHTML = css;
    head.appendChild(style);
}

addGlobalStyle('.pattnames {font-family: Verdana, "Trebuchet MS", Arial, sans-serif;font-size: 9px;font-style: normal;line-height: normal;font-weight: normal;font-variant: normal;text-transform: none;! important;}'+
'.cleantext {font-family: Verdana, "Trebuchet MS", Arial, sans-serif;font-size: 10px;font-style: normal;line-height: 13px;font-weight: normal;font-variant: normal;text-transform: none;visibility: hidden;! important;}'+
'.bodytext {font-family: verdana, "trebuchet ms", arial, sans-serif;font-size: 11px;width: 6.5in;! important;}'+
'.photocredit {font-family: Verdana, "Trebuchet MS", Arial, sans-serif;font-size: 9px;visibility: hidden;! important;}'+
'.photocreditBOLD {font-family: Verdana, "Trebuchet MS", Arial, sans-serif;font-size: 9px;font-weight: bolder;visibility: hidden;! important;}'+
'.FEATtitles {font-family: Verdana, "Trebuchet MS", Arial, sans-serif;font-size: 14px;font-weight: bolder;text-decoration: underline;visibility: hidden;! important;}'+
'.archivetext {font-family: Verdana, "Trebuchet MS", Arial, sans-serif;font-size: 9px;line-height: 14px;visibility: hidden;! important;}'+
'.inthisissue {visibility: hidden;width: 0;height: 0;! important;}'+
'* img {height: 0;width: 0;visibility: hidden;}'+
'* td {height: 0;width: 0;}'+
'* tr {height: 0;width: 0;}'+
'* th {height: 0;width: 0;}');

};

