addLoadEvent(initPopups);

function initPopups() {
	// Create popup 'window'
	var popupContainer = document.createElement("div");
	var popupImage = document.createElement("img");
	var popupLogo = document.createElement("div");
	popupContainer.id = "imagePopupContainer";
	popupImage.id = "imagePopupImage";
	popupLogo.id = "imagePopupLogo";

	popupContainer.onclick = function() { this.style.display = "none"; }

	popupContainer.appendChild(popupImage);
	popupContainer.appendChild(popupLogo);
	document.getElementsByTagName("body")[0].appendChild(popupContainer);

	var node = document.getElementsByTagName("body")[0];
	var links = [];
	var re = new RegExp('\\b' + "imagePopup" + '\\b');
	var els = node.getElementsByTagName("a");
	for(var i = 0, j = els.length; i < j; i++) if(re.test(els[i].rel)) links.push(els[i]);

	for(var k = 0; k < links.length; k++) {
		links[k].onclick = function() {
			var popupContainer = document.getElementById("imagePopupContainer");
			var popupImage = document.getElementById("imagePopupImage");

			var scrolledX, scrolledY;
			if(self.pageYOffset) {
				scrolledX = self.pageXOffset;
				scrolledY = self.pageYOffset;
			} else if(document.documentElement && document.documentElement.scrollTop) {
				scrolledX = document.documentElement.scrollLeft;
				scrolledY = document.documentElement.scrollTop;
			} else if(document.body) {
				scrolledX = document.body.scrollLeft;
				scrolledY = document.body.scrollTop;
			}

			var centerX, centerY;
			if(self.innerHeight) {
				centerX = self.innerWidth;
				centerY = self.innerHeight;
			} else if(document.documentElement && document.documentElement.clientHeight) {
				centerX = document.documentElement.clientWidth;
				centerY = document.documentElement.clientHeight;
			} else if(document.body) {
				centerX = document.body.clientWidth;
				centerY = document.body.clientHeight;
			}

			var x = scrolledX + (centerX - 600) / 2;
			var y = scrolledY + (centerY - 400) / 2;
  
			popupContainer.style.top = y + "px";
			popupContainer.style.left = x + "px";
			popupImage.src = this.href;
			popupContainer.style.display = "block";

			return false;
		}
	}
	return links;
}

// Helper functions...
function addLoadEvent(func) {
	var oldonload = window.onload;
	if(typeof window.onload != 'function') { window.onload = func; } else {
		window.onload = function() {
			if(oldonload) { oldonload(); }
			func();
		}
	}
}

function getElementsByClassName(classname) {
	var node = document.getElementsByTagName("body")[0];
	var a = [];
	var re = new RegExp('\\b' + classname + '\\b');
	var els = node.getElementsByTagName("*");
	for(var i = 0, j = els.length; i < j; i++) if(re.test(els[i].className)) a.push(els[i]);
	return a;
}
