DeviantART - Shoehorn

By Lucanos Last update Mar 13, 2007 — Installed 1,072 times.
// DeviantART - Shoehorn v0.3
// Made By Luke Stevenson {http://lucanos.deviantart.com}
// Distributed and Maintained via GMVC
// Last updated: 23 November 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.3) Resizes deviations so that image width is the maximum.
// @include           http://www.deviantart.com/view/*
// @include           http://www.deviantart.com/deviation/*
// ==/UserScript==

var imageW, imageH;

(function () {
	var screenW, screenH, paddingW, imageOrigW, imageOrigH, imageOrigS, imageNewW, imageNewH, imageNewS, imageZoomIn;

	// 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   = 95;

	// Get Main Deviation Attributes
	imageOrigW  = unsafeWindow.deviantART.pageData.fullview.width;
	imageOrigH  = unsafeWindow.deviantART.pageData.fullview.height;
	imageOrigS  = unsafeWindow.deviantART.pageData.fullview.src;
	imageZoomIn = document.evaluate("//span[@id='zoomed-in']/a/img", document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue
	
	// Calculate Shoehorned Attributes
	imageNewW  = screenW-paddingW;
	imageNewH  = Math.round( imageOrigH*(imageNewW/imageOrigW) );
	imageNewS  = "http://resize.lucanos.com/thumb.php?url="+unsafeWindow.deviantART.pageData.fullview.src+"&width="+imageNewW
	
	if ( imageNewW<imageOrigW ) {
		// Set Main Deviation Attributes
		unsafeWindow.deviantART.pageData.fullview.width  = imageNewW;
		unsafeWindow.deviantART.pageData.fullview.height = imageNewH;
		unsafeWindow.deviantART.pageData.fullview.src    = imageNewS;
		imageZoomIn.width                                = imageNewW;
		imageZoomIn.height                               = imageNewH;
		imageZoomIn.src                                  = imageNewS;
	} else {
		// No Change Required - Fullview will fit inside current page
	}

})();