var popup =
{
	init: function(element)
	{
		if(!element || !element.getElementsByTagName)
			return false;

		var as = element.getElementsByTagName('a');
		
		for(var i=0;i<as.length;i++)
			if ((as[i].href+'').match(/\.(jpe?g|png|gif)/i))
				as[i].onclick = this.click;

		return true;
	},

	writedoc: function(win,href,title,alt,h)
	{
		var doc = win.document;
		/*
		var gallery = href.substring(0, href.lastIndexOf('/'));
		var server = gallery.substring(0, gallery.lastIndexOf('/')+1);
		gallery = gallery.substring(gallery.lastIndexOf('/')+1);
		*/
		
		doc.open('text/html;charset=iso-8859-1');
		doc.write(
		'<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">' +
		'<html id="popup">' +
		'<head><title>' + alt + '</title>' +
		'<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">' +
		'<meta http-equiv="imagetoolbar" content="false">' +
		'<link rel="stylesheet" href="style/popup.css">' +
		(h?'<style type="text/css">.image {min-height: ' + h + 'px} #iesux#popup .image {height: ' + h + 'px;}</style>':'') +
		'</head><body onclick="window.close();">' +
		'<table><tr><td><p class="image"><img src="'+href+'" alt=""></p></td></tr></table>' +
		/*'<p class="rank"><img src="'+server+'rank.php?g='+gallery+'&i='+alt+'" alt=""></p>' +	*/
		'<p class="close">Click image to close this window.</p>' +
		'</body></html>'
		);
		doc.close();
	},

	title2size: function(str)
	{
		if (str)
		{
			var out = str.match(/\(([0-9]+)x([0-9]+)\)/);

			if (out) return new Array(str.replace(/\(([0-9]+)x([0-9]+)\)/g,''),parseInt(out[1]),parseInt(out[2]));
		}
		return new Array(str,640,480);
	},

	click: function(ev)
	{
		ev = ev||event;
		
		try {
			if(this.pp_win && this.pp_win.close && !this.pp_win.closed)
			{
				this.pp_win.close();
				this.pp_win=false;
			}
		}
		catch(e){}

		try {
			var imgs = this.getElementsByTagName('img');
			var title = imgs[0].getAttribute('title')?imgs[0].getAttribute('title'):this.getAttribute('title');
			var alt = imgs[0].getAttribute('alt');

			var titleandsize = popup.title2size(title);
			var winopts = "dependent=yes,toolbar=no,scrollbars=yes,resizable=yes,width=" + (titleandsize[1]+30) + ',height=' + (titleandsize[2]+60);

			var win = window.open(this.href,'_blank',winopts);
			
			if(win && win.opener)
			{
				this.pp_win = win;
				popup.writedoc(win,this.href,titleandsize[0],alt,titleandsize[2]);
				if (ev.stopPropagation) ev.stopPropagation();
				return false;
			}
		}

		catch(e){}

		return true;
	},

	initNow: function()
	{
		this.init(document.body);
	},

	initLoad: function()
	{
		var oldOnload = window.onload;
		var that = this;
		window.onload = function()
		{
			if(oldOnload)
			{
				try {
					oldOnload();
				}
				catch(e){}
			}
			that.initNow();
		}
	}
};

popup.initLoad();
