var farstrup = {
	popup: {
		prepare: function(a, description) {
			var me = this;
			a.onclick = function() {
				me.clickLink(this, description);
				return false;
			};
			if (core)
				a.ignore = true;
		},

		clickLink: function(link, description) {
			var imgParent = document.getElementById('image');
			if (imgParent) {
				while (imgParent.firstChild)
					imgParent.removeChild(imgParent.lastChild);
				var href = link.getAttribute('href');
				if (href == '#') {
					href = link.getElementsByTagName('img')[0].getAttribute('src');
					href = href.replace(/\/thumb\./, '/version0.');
				}
				var img = document.createElement('img');
				img.setAttribute('src', href);
				img.setAttribute('alt', '');
				img.style.cursor = 'pointer';
				var me = this;
				img.onclick = function() {
					me.makePopup(href, description);
				};
				imgParent.appendChild(img);
			}
		},

		makePopup: function(imageUrl, description) {
			var parent = this.preparePopup();
			var imageContainer = document.createElement('div');
			imageContainer.className = 'image';
			var corners = ['nw', 'ne', 'se', 'sw'];
			for (var i = 0; i < corners.length; i++) {
				imageContainer.appendChild(document.createElement('div')).className = corners[i];
			}
			imageContainer.appendChild(document.createElement('img')).setAttribute('src', imageUrl);
			parent.appendChild(imageContainer);
			parent.appendChild(description);
			description.style.display = '';

			var buttons = document.createElement('div');
			buttons.className = 'buttons';

			var close = document.createElement('a');
			close.className = 'close';
			close.appendChild(document.createTextNode('Luk vinduet'));
			close.setAttribute('href', 'javascript:farstrup.popup.close();');

			var print = document.createElement('a');
			print.className = 'print';
			print.appendChild(document.createTextNode('Print billede'));
			print.setAttribute('href', 'javascript:window.print();');

			buttons.appendChild(close);
			buttons.appendChild(print);
			parent.appendChild(buttons);
		},

		preparePopup: function() {
			var div;
			if (!(div = document.getElementById('popup'))) {
				div = document.createElement('div');
				div.setAttribute('id', 'popup');
				var parent = core ? document.getElementById(secoya.application.domTopId) : document.body;
				parent.appendChild(div);
				var overlay = document.createElement('div');
				overlay.setAttribute('id', 'popupOverlay');
				var me = this;
				overlay.onclick = function() {
					me.close();
				};
				parent.appendChild(overlay);
				if (lightCore.browser.getName() == 'IE' && lightCore.browser.getVersion() <= 6) {
					var resize = function() {
						overlay.style.height = document.documentElement.clientHeight + 'px';
					};
					var scroll = function() {
						overlay.style.top = document.documentElement.scrollTop + 'px';
						resize();
					};
					document.documentElement.onscroll = scroll;
					window.onresize = resize;
					setTimeout(scroll, 100);
				}
			}
			while (div.firstChild) {
				div.removeChild(div.lastChild);
			}
			return div;
		},

		close: function() {
			var divs = ['popupOverlay', 'popup'], div, i;
			for (i = 0; i < divs.length; i++) {
				div = document.getElementById(divs[i]);
				if (div) {
					div.parentNode.removeChild(div);
				}
			}
			if (lightCore.browser.getName() == 'IE' && lightCore.browser.getVersion() <= 6) {
				document.documentElement.onscroll = null;
				window.onresize = null;
			}
		}
	}
};
