/* Helper script for the retro-reduced stylesheet. */

/* Get an image's real width. Used by the auto-sizing CSS expression. */
var imgCache = {};
function getNaturalWidth(img) {
	if (img.naturalWidth) {
		return img.naturalWidth;
	} else {
		/* Cache images through src to avoid memory waste. */
		var img2 = imgCache[img.src];
		if (!img2) {
			img2 = new Image();
			img2.src = img.src;
			imgCache[img.src] = img2;
		}
		return img2.width;
	}
}

/* Allow HTML5 elements to be styled. */
document.createElement('nav');
document.createElement('hero');
document.createElement('main');
document.createElement('footer');

/* Make the logo transparent on IE6. Doing this on more
   images interferes with the auto-sizing CSS expression. */
function fixPngs() {
	/* Check if the icon and logo are loaded, and try
	   again after a while if they're not present yet. */
	if (!document.images || (document.images.length < 2))
		setTimeout(fixPngs, 500);

	/* Fix icon and logo. */
	for (var i = 0; i < Math.min(2, document.images.length); i++) {
		var img = document.images[i];
		img.style.paddingRight = 0; /* padding counts as space for AlphaImageLoader so swap it for margin */
		var oldsrc = img.src;
		var oldw = img.clientWidth;
		var oldh = img.clientHeight;
		img.src = '/assets/images/blank.gif';
		img.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + oldsrc + "', sizingMethod='scale')";
		img.style.width = oldw + 'px';
		img.style.height = oldh + 'px';
		img.style.marginRight = '20pt';
	}
}
if (document.all && /MSIE (5\.5|6)/.test(navigator.userAgent))
	fixPngs();
