
var init_o = false;

function overlay() {
	if (!init_o) {
		try {
			var objBody = document.getElementsByTagName("body").item(0);
			var objOverlay = document.createElement("div");

			objOverlay.setAttribute('id','overlay');
			objOverlay.style.display = 'none';
			objOverlay.style.position = 'absolute';
			objOverlay.style.top = '0';
			objOverlay.style.left = '0';
			objOverlay.style.zIndex = '90';
		 	objOverlay.style.width = '100%';
			objBody.insertBefore(objOverlay, objBody.firstChild);

			var arrayPageScroll = getPageScroll();

			var objLightbox = document.createElement("div");
			objLightbox.setAttribute('id','galleryBox');
			objLightbox.className = 'lbframe';
			objLightbox.style.display = 'none';
			objLightbox.style.position = 'absolute';
			objLightbox.style.zIndex = '100';
			objBody.insertBefore(objLightbox, objOverlay.nextSibling);

			objBtn = document.createElement("div");
			objBtn.id = 'lb_close';

			var objLink = document.createElement("a");
			var objImg	= document.createElement("img");

			objLink.setAttribute('href','javascript://');
			objLink.setAttribute('title','Zapri');
			objImg.src = "/dsg/lightbox/close.gif";
			objImg.setAttribute('alt','Zapri');
			objLink.appendChild(objImg);

			objLink.onclick = function () {close_o(); return false;}
			objBtn.appendChild(objLink);

			objLightbox.appendChild (objBtn);

			objHold = document.createElement("DIV");
			objHold.className = 'lb_hold';
			objLightbox.appendChild (objHold);

			var objMessage = document.createElement("div");
			objMessage.setAttribute('id','lightboxGallery');
			objMessage.className = 'lb_cont';
			objHold.appendChild (objMessage);
			objLightbox.appendChild(objHold);

			init_o = true;
		} catch (e) {
			return false;
		}
	}

}

function w(o,h) {
	var objOverlay = document.getElementById('overlay');
	var objLightbox = document.getElementById('galleryBox');
	var objMessage = document.getElementById('lightboxGallery');
	var arrayPageSize = getPageSize();
	var arrayPageScroll = getPageScroll();

	selects = document.getElementsByTagName("select");
	for (i = 0; i != selects.length; i++) selects[i].style.visibility = "hidden";

	objects = document.getElementsByTagName("object");
	for (i = 0; i != objects.length; i++) objects[i].style.visibility = "hidden";

	objects = document.getElementsByTagName("embed");
	for (i = 0; i != objects.length; i++) objects[i].style.visibility = "hidden";

	objects = document.getElementsByTagName("iframe");
	for (i = 0; i != objects.length; i++) objects[i].style.visibility = "hidden";

	objOverlay.style.height = (arrayPageSize[1] + 'px');
	objOverlay.style.display = 'block';

	var objIFrameName = 'GalleryIFrame';
	var objIFrame;

	try {
		objIFrame = document.createElement('<iframe frameborder="0" scrolling="no" marginheight="0" marginwidth="0" name="' + objIFrameName + '" id="' + objIFrameName + '">');
	} catch (e) {
		objIFrame = document.createElement('iframe');
		objIFrame.name = objIFrameName;
		objIFrame.id = objIFrameName;
	}

	if (objMessage.childNodes[0]) objMessage.childNodes[0].remove;

	if (objMessage.firstChild) objMessage.replaceChild (objIFrame, objMessage.firstChild);
	else objMessage.appendChild (objIFrame);

	objIFrame = document.getElementById (objIFrameName);
	if(h) objIFrame.src = h;
	else
	objIFrame.src = o.href;
	objIFrame.scrolling = 'no';
	objIFrame.frameBorder = '0';
	objIFrame.width = '100%';
	objIFrame.height = '370px';
	objIFrame.marginHeight = 0;
	objIFrame.marginWidth = 0;

	if (objMessage.childNodes[0]) objMessage.childNodes[0].remove;

	if (objMessage.firstChild) objMessage.replaceChild (objIFrame, objMessage.firstChild);
	else objMessage.appendChild (objIFrame);

	topvalue = arrayPageScroll[1] + ((arrayPageSize[3] - 635) / 2);
	objLightbox.style.top = (parseFloat(topvalue) < 0) ? "20px" : topvalue + "px";

	objLightbox.style.left = (arrayPageSize[2] - 570) / 2 + "px";
	objLightbox.style.display = 'block';
	return true;
}

function displayObject (objectUrl) {
	var objOverlay = document.getElementById('overlay');
	var objLightbox = document.getElementById('galleryBox');
	var objMessage = document.getElementById('lightboxGallery');
	var arrayPageSize = getPageSize();
	var arrayPageScroll = getPageScroll();

	selects = document.getElementsByTagName("select");
	for (i = 0; i != selects.length; i++) selects[i].style.visibility = "hidden";

	objects = document.getElementsByTagName("object");
	for (i = 0; i != objects.length; i++) objects[i].style.visibility = "hidden";

	objects = document.getElementsByTagName("iframe");
	for (i = 0; i != objects.length; i++) objects[i].style.visibility = "hidden";

	objOverlay.style.height = (arrayPageSize[1] + 'px');
	objOverlay.style.display = 'block';

	objIFrame = document.createElement ('IFRAME');
	objIFrame.src = objectUrl;
	objIFrame.scrolling = 'no';
	objIFrame.frameBorder = '0';
	objIFrame.width = '100%';
	objIFrame.height = '370px';
	objIFrame.marginHeight = 0;
	objIFrame.marginWidth = 0;

	if (objMessage.childNodes[0]) objMessage.childNodes[0].remove;
	if (objMessage.firstChild) objMessage.replaceChild (objIFrame, objMessage.firstChild);
	else objMessage.appendChild (objIFrame);

	topvalue = arrayPageScroll[1] + ((arrayPageSize[3] - 635) / 2);
	objLightbox.style.top = (parseFloat(topvalue) < 0) ? "20px" : topvalue + "px";

	objLightbox.style.left = (arrayPageSize[2] - 714) / 2 + "px";
	objLightbox.style.display = 'block';
}

function close_o () {
	var objOverlay = document.getElementById('overlay');
	objOverlay.style.display = 'none';

	var objLightbox = document.getElementById('galleryBox');
	objLightbox.style.display = 'none';

	selects = document.getElementsByTagName("select");
	for (i = 0; i != selects.length; i++) selects[i].style.visibility = "visible";

	objects = document.getElementsByTagName("object");
	for (i = 0; i != objects.length; i++) objects[i].style.visibility = "visible";

	objects = document.getElementsByTagName("embed");
	for (i = 0; i != objects.length; i++) objects[i].style.visibility = "visible";

	objects = document.getElementsByTagName("iframe");
	for (i = 0; i != objects.length; i++) objects[i].style.visibility = "visible";
}

//
// getPageSize()
// Returns array with page width, height and window width, height
// Core code from - quirksmode.org
// Edit for Firefox by pHaez
//
function getPageSize(){

	var xScroll, yScroll;

	if (window.innerHeight && window.scrollMaxY) {
		xScroll = document.body.scrollWidth;
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}

	var windowWidth, windowHeight;
	if (self.innerHeight) {	// all except Explorer
		windowWidth = self.innerWidth;
		windowHeight = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	} else if (document.body) { // other Explorers
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}

	// for small pages with total height less then height of the viewport
	if(yScroll < windowHeight) pageHeight = windowHeight;
	else pageHeight = yScroll;

	// for small pages with total width less then width of the viewport
	if(xScroll < windowWidth) pageWidth = windowWidth;
	else pageWidth = xScroll;

	arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight)
	return arrayPageSize;
}

//
// getPageScroll()
// Returns array with x,y page scroll values.
// Core code from - quirksmode.org
//
function getPageScroll(){

	var yScroll;

	if (self.pageYOffset) {
		yScroll = self.pageYOffset;
	} else if (document.documentElement && document.documentElement.scrollTop){	 // Explorer 6 Strict
		yScroll = document.documentElement.scrollTop;
	} else if (document.body) {// all other Explorers
		yScroll = document.body.scrollTop;
	}

	arrayPageScroll = new Array('',yScroll)
	return arrayPageScroll;
}

var overlayInitDone = false;
function initOverlay ()
{
	if (!overlayInitDone)
	{
		try {
			var objBody = document.getElementsByTagName("body").item(0);
			var objOverlay = document.createElement("div");

			objOverlay.setAttribute('id','overlay');
			objOverlay.style.display = 'none';
			objOverlay.style.position = 'absolute';
			objOverlay.style.top = '0';
			objOverlay.style.left = '0';
			objOverlay.style.zIndex = '90';
		 	objOverlay.style.width = '100%';
			objBody.insertBefore(objOverlay, objBody.firstChild);

			var arrayPageScroll = getPageScroll();

			var objLightbox = document.createElement("div");
			objLightbox.setAttribute('id','lightbox');
			objLightbox.style.display = 'none';
			objLightbox.style.position = 'absolute';
			objLightbox.style.zIndex = '100';
			objBody.insertBefore(objLightbox, objOverlay.nextSibling);

			var objMessage = document.createElement("div");
			objMessage.setAttribute('id','lightboxMessage');
			objLightbox.appendChild(objMessage);

			// create link
			var objLink = document.createElement("a");
			var objImg	= document.createElement("img");

			objLink.setAttribute('id','lightboxLink');
			objLink.setAttribute('href','#');
			objLink.setAttribute('title','Zapri');
			objImg.src = "/dsg/lightbox/close.gif";
			objImg.setAttribute('alt','Zapri');
			objLink.appendChild(objImg);

			objLink.onclick = function () {closeOverlay(); return false;}
			objLightbox.appendChild(objLink);

			overlayInitDone = true;
		} catch (e) {
			return false;
		}
	}
}

function closeOverlay ()
{
	var objOverlay = document.getElementById('overlay');
	objOverlay.style.display = 'none';

	var objLightbox = document.getElementById('lightbox');
	objLightbox.style.display = 'none';

	selects = document.getElementsByTagName("select");
	for (i = 0; i != selects.length; i++) selects[i].style.visibility = "visible";

	objects = document.getElementsByTagName("object");
	for (i = 0; i != objects.length; i++) objects[i].style.visibility = "visible";
}

function displayMessage (message, progressbar)
{
	var objOverlay = document.getElementById('overlay');
	var objLightbox = document.getElementById('lightbox');
	var objMessage = document.getElementById('lightboxMessage');
	var objLink = document.getElementById('lightboxLink');

	if (progressbar)
	{
		var objProgressDiv = document.createElement ("div");
		objProgressDiv.setAttribute ('style', 'text-align: center');
		objProgressDiv.style.width = '100%';

		var objProgress = document.createElement ("img");
		objProgress.src = '/dsg/progressbar_green.gif';
		objProgressDiv.appendChild (objProgress);

		objLightbox.insertBefore(objProgressDiv, objLink);
		objLink.style.display = 'none';
	}

	var arrayPageSize = getPageSize();
	var arrayPageScroll = getPageScroll();

	selects = document.getElementsByTagName("select");
	for (i = 0; i != selects.length; i++) selects[i].style.visibility = "hidden";

	objects = document.getElementsByTagName("object");
	for (i = 0; i != objects.length; i++) objects[i].style.visibility = "hidden";

	objOverlay.style.height = (arrayPageSize[1] + 'px');
	objOverlay.style.display = 'block';

	objMessage.innerHTML = message;

	objLightbox.style.top = arrayPageScroll[1] + ((arrayPageSize[3] - 200) / 2) + "px";

	if (progressbar) objLightbox.style.left = (arrayPageSize[0] - 402) / 2 + "px";
	else objLightbox.style.left = "130px";

	objLightbox.style.display = 'block';
}

//
// addLoadEvent()
// Adds event to window.onload without overwriting currently assigned onload functions.
// Function found at Simon Willison's weblog - http://simon.incutio.com/
//
function addLoadEvent(func)
{
	var oldonload = window.onload;
	if (typeof window.onload != 'function'){
    	window.onload = func;
	} else {
		window.onload = function(){
		oldonload();
		func();
		}
	}

}