// DeviantART - Shoehorn v0.1
// Made By Luke Stevenson {http://lucanos.deviantart.com}
// Distributed and Maintained via GMVC
// Last updated: 23 June 2006
//
//   This script modifies the dimensions of deviations so that the image
// can be seen without excessive scrolling.
//
// ==UserScript==
// @name              DeviantART - Shoehorn
// @namespace         http://gmvc.lucanos.com/
// @description       (v0.1) Resizes deviations so that image is viewable without scrolling.
// @include           http://www.deviantart.com/view/*
// @include           http://www.deviantart.com/deviation/*
// ==/UserScript==

var imageW, imageH;

(function () {

	var screenW, screenH, mainImage, imageNewWidth;

	// Get Screen dimensions. Only code for Firefox required.
	screenW = window.innerWidth-19; // 19px for scrollbar
	screenH = window.innerHeight-19; // 19px for scrollbar

	// Add the deviantART padding values
	paddingW = 42;

	// Get Main Deviation Image
	// mainImage = document.getElementById('deviation-view').getElementsByTagName('img')[0];
	mainImage = document.evaluate("//div[@id='deviation-view']/img",document,null,XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,null).snapshotItem(0);

	// Get Main Deviation Attributes
	imageW = mainImage.width;
	imageH = mainImage.height;

	if ( imageW>screenW ) {
		imageNewWidth = screenW-paddingW;
		mainImage.width = imageNewWidth;
		mainImage.height = imageH*(imageNewWidth/imageW);
		
		// Create Complete Fullview Button
		var buttonShoehorn = "R0lGODlhEgASAOYAAP8AAf8BAoyBcdHCsLCilV5FMHBXQZF9bJ2Nf0kvG1xDL3lgTZSFeVQ6KFU8Kl9GNHBbTKORhHNPOWhLOXhYQ3ZYRVs4JXFOOXlUP4JmVp+Ccruah1MtGVAsGlEtG2xGMnNNOlQnEk4pGE8qGVUxIWU8KFw3JmM9LGI/LoFUQHNRQZN1Z6yShk0jEVMoFlMrGlAqG1ozInxNOlw5K3BIOGxGNntQPnhQQFIvImI4KYBSQW5IO3BJPYJYSp14bIhEMoNOQItJO4JEN5k3KJswI9lnW58cEK0rIbAzKacyJ7xBNsBMQa8mHLcxKOURC90zLv8AAPsAAPYAAP8CAv0CAv8DA/YHBu8IBvgHB+wNCu0PDeEbGOgiIP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAF0ALAAAAAASABIAAAemgF2Cg1CFhoNdG4hdho2HXQOIjoZaSUhORZKPg0AOBSlZhI2IDDM7KkFWUIKTggg5PD0rXIWMtbZTSgo1OhGsjoMBUFJEFASio4JMhVRLmskTCUaFAM+HEC4cD01Rt7aGWEI4LyY3C0+Ph1BHDTAkNDICv8lbJx0eKDYV1qtdPiIjLIC4sChZlwwtYnwwMKTKpH6CWIQoIeHHlYeLumjAcODbpkGBAAA7";
		var currentURL = document.location.href;
		var underDeviationBar = document.evaluate("//div[@id='content']/div[1]/div[3]/table/tbody/tr", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
		var hSep = document.createElement("span");
			hSep.setAttribute("class","hsep");
			hSep.setAttribute("id","spanShoehornHSep");
		
	    var shoehorn = document.createElement("td");
		var shoehornLink = document.createElement("a");
			shoehornLink.setAttribute( "href" , "#" );
			shoehornLink.setAttribute( "onClick" , "javascript:void(document.getElementById('deviation-view').getElementsByTagName('img')[0].width="+imageW+");void(document.getElementById('deviation-view').getElementsByTagName('img')[0].height="+imageH+");" );
			shoehornLink.setAttribute( "title" , "Show at Full Resolution" );
		var shoehornIcon = document.createElement("img");
			shoehornIcon.setAttribute("src","data:image/gif;base64,"+buttonShoehorn);
		var shoehornText = document.createElement("span");
			shoehornText.setAttribute("id","spanShoehorn");
		
		shoehornLink.appendChild(shoehornIcon);
		shoehornLink.appendChild(shoehornText);
		shoehorn.appendChild(shoehornLink);
		shoehorn.appendChild(hSep);
		
		underDeviationBar.appendChild(shoehorn);
		
		document.getElementById("spanShoehorn").innerHTML = "Full Resolution";
		document.getElementById("spanShoehornHSep").innerHTML = "|";
		
	}

})();