// ==UserScript==
// @name           Flickr Magnify
// @namespace      http://userscripts.org/people/99
// @description    Adds a google maps-style zoom to any photo page picture on Flickr
// @include        http://www.flickr.com/photos/*
// @include        http://flickr.com/photos/*
// @author         Mark Husson
// ==/UserScript==

var divsArray = document.getElementsByTagName("div");
var imgDiv, notesDiv, image0, buttonBar;
for(var i=0;i<divsArray.length;i++){
	if(divsArray[i].className == "photoImgDiv"){
		imgDiv = divsArray[i];
	}else if(divsArray[i].className == "photo_notes"){
		notesDiv = divsArray[i];
	}
}

if(imgDiv){
	image0 = imgDiv.getElementsByTagName("img")[0];
	
	imgDiv.style.overflow="hidden";
	imgDiv.style.height = image0.height;
	imgDiv.style.width = image0.width;
	
	image0.id = "image0";
	image0srcBase = image0.src.substring(0,image0.src.indexOf(".jpg?"));
	
	largerImg = document.createElement('img');
	largerImg.src = image0srcBase+"_b.jpg";
	largerImg.id = "largerImg";
	largerImg.style.display = "none";
	imgDiv.insertBefore(largerImg, image0);
	
	largestImg = document.createElement('img');
	largestImg.src = image0srcBase+"_o.jpg";
	largestImg.id = "largestImg";
	largestImg.style.display = "none";
	imgDiv.insertBefore(largestImg, image0);
	
	// Add controls to the button_bar
	buttonBar = document.getElementById("button_bar");
	if (buttonBar) {
		var zoomIn = document.createElement('button');
		var showLarger = new function(){
			document.getElementById('largerImg').style.display='';
			document.getElementById('image0').style.display='none';
		}
		zoomIn.onClick = showLarger;
		zoomIn.innerHTML = "+";
		buttonBar.parentNode.insertBefore(zoomIn, buttonBar.nextSibling);
	}
}