function initit() {
	DOMAssistant.Lightbox.init();
}
DOMAssistant.Lightbox = function () {
	var opacity = '0.7';
	var boxWidth = '392';
	var offsetTop = null;
	var overlayDiv = null;
	var lightboxDiv = null;
	var lightboxLinks = null;
	var closeLink = null;
	var lightboxLinkId = 'lightbox_link';
	var lightboxDivId = 'lightbox_content';
	var overlayDivId = 'overlay';
	var closeLinkId = 'close_link';
	var newsItemId = null;
	var newsListId = null;
	var checkbox = null;
	var okLink = null;
	var lightboxContentDiv = null;
	var lightboxContentHeader = null;
	var lightboxContentP1 = null;
	var lightboxContentP2 = null;
	var lightboxContentP3 = null;
	var buttonDiv = null;
	var checkboxPara = null;
	var checkboxLabel = null;
	var checkboxLabelText = null;
	var checkbox = null;
	var okLinkId = 'ok_link';
	return {
		init : function () {
			lightboxLinks = $('a.js_popup');
			
			overlayDiv = $(document.body).create("div", {id : overlayDivId}, true);
			overlayDiv.setStyle('display', 'none');
			
			lightboxDiv = $(document.body).create("div", {id : lightboxDivId}, true);
			lightboxDiv.setStyle('display', 'none');
			
			lightboxContentDiv = $(lightboxDiv).create("div", {id : 'inner_content'}, true);
			lightboxContentHeader = document.createElement("h4");
			lightboxContentHeader.innerHTML = 'MPDClick / Just-Style news collaboration';
			lightboxContentHeader.id = 'lightbox_heading';
			
			lightboxContentP1 = document.createElement("p");
			lightboxContentP1.innerHTML = "MPDClick&#39;s News area will direct you to our external news provider&#39;s website called Just-Style, to which as a subscribed member of MPDClick you have complete access to all the <em>news</em> posts. You will see a co-branded webpage of the news post you selected. To view anything non-news related, the site will revert to the Just-Style website, to which you have to be a subscriber of Just-Style to view.";
			
			buttonDiv = document.createElement("div");
			buttonDiv.id = 'button_content';
			
			linkPara = document.createElement("p");
			linkPara.id = 'close_para';
			
			closeLink = document.createElement("a");
			closeLink.id = closeLinkId;
			closeLink.innerHTML = 'Close';
			
			okLink = document.createElement("a");
			okLink.id = okLinkId;
			okLink.innerHTML = 'Continue';
			
			checkboxPara = document.createElement("p");
			checkboxPara.id = 'check_para';
			
			checkboxLabel = document.createElement("label");
			checkboxLabel.setAttribute('for', 'no_popup');
			checkboxLabelText = document.createTextNode('Click to hide this message in future');
			
			checkbox = document.createElement("input");
			checkbox.id = 'no_popup';
			checkbox.setAttribute('name', 'no_popup');
			checkbox.setAttribute('type', 'checkbox');
			
			linkPara.appendChild(okLink);
			linkPara.appendChild(closeLink);
			checkboxLabel.appendChild(checkboxLabelText);
			checkboxPara.appendChild(checkbox);
			checkboxPara.appendChild(checkboxLabel);
			buttonDiv.appendChild(linkPara);
			buttonDiv.appendChild(checkboxPara);
			
			lightboxContentDiv.appendChild(lightboxContentP1);
			lightboxContentDiv.appendChild(buttonDiv);
			
			lightboxDiv.appendChild(lightboxContentDiv);
			
			lightboxDiv.parentNode.insertBefore(overlayDiv, lightboxDiv);
			
			DOMAssistant.Lightbox.addEvents();
			
		},
		addEvents : function () {
			lightboxLinks.each(function() {
				$(this).addEvent('click', function (e) {
					var ids = this.id.split('-');
					newsItemId = ids[0];
					newsListId = ids[1];
					DOMAssistant.preventDefault(e);
					DOMAssistant.Lightbox.setOverlayStyle();
					DOMAssistant.Lightbox.setLightboxStyle();
				});
			});
			overlayDiv.addEvent('click', function () {
				DOMAssistant.Lightbox.closeLightbox();
			});
			$$(closeLinkId).addEvent('click', function () {
				DOMAssistant.Lightbox.closeLightbox();
			});
			window.addEvent("resize", function () {
				if (overlayDiv.getStyle('display') != 'none') {
					DOMAssistant.Lightbox.setOverlayStyle();
				}
				if (lightboxDiv.getStyle('display') != 'none') {
					DOMAssistant.Lightbox.setLightboxStyle();
				}
			});
			$$(okLinkId).addEvent('click', function (ev) {
				DOMAssistant.preventDefault(ev);
				var url = 'viewListItem?id=' + newsItemId + '&listId=' + newsListId;
				if (checkbox && checkbox.checked == true) {
					url = url + '&dontShowPopupAgain=1';
				}
				DOMAssistant.Lightbox.closeLightbox();
				window.location.reload();
				window.open(url, 'justStyle');
			});
		},
		setOverlayStyle : function () {
			var bodyHeight = document.body.scrollHeight;
			var height = (typeof window.innerHeight !== "undefined")? window.innerHeight : (document.documentElement)? document.documentElement.clientHeight : document.body.clientHeight;
			height = (bodyHeight > height)? bodyHeight : height;
			overlayDiv.setStyle({
				'height' : height + "px",
				'display': 'block', 
				'cursor': 'pointer'
			});

		},
		setLightboxStyle : function () {
			DOMAssistant.Lightbox.setOffsetTop();
			offsetTop += 160;
			leftOffset = (overlayDiv.offsetWidth/2)-(boxWidth/2)
			lightboxDiv.setStyle({
				'display': 'block',
				'width': boxWidth + 'px',
				'background-color': '#FFFFFF',
				'position': 'absolute',
				'left': leftOffset + 'px',
				'top': offsetTop + 'px',
				'z-index': '1000'
			});
		},
		setOffsetTop : function () {
			if (self.pageYOffset) {
				offsetTop = self.pageYOffset;
			} else if (document.documentElement && document.documentElement.scrollTop){
				offsetTop = document.documentElement.scrollTop; 
			} else if (document.body) {
				offsetTop = document.body.scrollTop;
			}
		},
		closeLightbox : function () {
			overlayDiv.setStyle('display', 'none');
			lightboxDiv.setStyle('display', 'none');
		}
	};
}();

DOMAssistant.DOMLoad.setErrorHandling(function (e) {
	alert(e);
});
addLoadEvent(initit);