function getElementsByClass(className)  {
	var a = [];
	var re = new RegExp('\\b'+className+'\\b');
	var els = document.getElementsByTagName('body')[0].getElementsByTagName('*');
	for(var i=0,j=els.length; i<j; i++)
		if(re.test(els[i].className))a.push(els[i]);
	return a;
}
function addEvent(obj,evt,fn) {
	if (obj.addEventListener)
		obj.addEventListener(evt,fn,false);
	else if (obj.attachEvent)
		obj.attachEvent('on'+evt,fn);
}

function view(id) {
	
	function show() {
		var fn = function() {
			ratio();
			image.src = element.href;
		};
		if (preload.src!=element.href) {
			preload.src = element.href;
			preload.onload = fn;
		} else { fn(); }
	}
	function hide() {
		background.style.visibility = 'hidden';
		content.style.overflow = 'auto';
		var scroll = content.scrollTop;
		content.scrollTop = 0;
		content.scrollTop = scroll;
		image.src = '';
		viewing = false;
	}
	function next() {
		element = element.parentNode.nextSibling.nextSibling.getElementsByTagName('a')[0];
		show();
	}
	function prev() {
		element = element.parentNode.previousSibling.previousSibling.getElementsByTagName('a')[0];
		show();
	}
	
	click = function() {
		viewing = true;
		element = this;
		show();
		image.onload = function() {
			background.style.visibility = 'visible';
			content.style.overflow = 'hidden';
		}
		return false;
	}
	
	var element;
	var imageratio;
	var windowratio;
	var viewing = false;
	
	document.addEventListener('keydown',function() {
		if(viewing) {
			switch(event.keyCode) {
				case 27: hide(); break;
				case 37: prev(); break;
				case 39: next(); break;
			}
		}
	},false);
	
	function ratio() {
		var thumb = element.getElementsByTagName('img')[0];
		windowratio = background.clientWidth / background.clientHeight;
		imageratio = thumb.width / thumb.height;
		image.style.width = imageratio>windowratio?'100%':'auto';
		image.style.height = imageratio>windowratio?'auto':'100%';
	}
	
	addEvent(window,'resize',function() { if(viewing) { ratio(); } });
	
	var content = getElementsByClass('content')[0];
	
	var background = document.createElement("div");
	background.style.visibility = 'hidden';
	background.onclick = hide;
	
	background.style.position = 'fixed';
	background.style.top = '0';
	background.style.bottom = '0';
	background.style.left = '0';
	background.style.right = '0';
	background.style.zIndex = '1';
	//background.style.background = 'black';
	background.style.background = 'url(/images/transparent.png)';
	
	var preload = new Image();
	
	var image = document.createElement('img');
	image.style.position = 'absolute';
	image.style.top = '0';
	image.style.bottom = '0';
	image.style.left = '0';
	image.style.right = '0';
	image.style.margin = 'auto';
	background.appendChild(image);
	
	var body = document.getElementsByTagName('body')[0];
	body.insertBefore(background,body.firstChild);
	
	var items = document.getElementById(id).getElementsByTagName('a');
	for(var i in items)
		items[i].onclick = click;

}