var detect = navigator.userAgent.toLowerCase();
var OS,browser,version,total,thestring, yPos, w,h,fn;
Event.observe(window, 'unload', Event.unloadCache, false);

function lightbox(width, height, filename)
{
	if (width==0 || width>document.body.offsetWidth*0.9)
	{
		w=document.body.offsetWidth*0.9;
	}
	else
	{
		w=width;
	}
	if (height==0 || height>document.body.offsetHeight*0.9)
	{
			h=document.body.offsetHeight*0.9;
	}
	else
	{
		h=height;
	}
	fn=filename;
	getBrowserInfo();
	initialize();
}

function initialize()
{
	addLightboxMarkup();
	if (browser == 'Internet Explorer')
	{
		getScroll();
		prepareIE('100%', 'hidden');
		setScroll(0,0);
		hideSelects('hidden');
	}
	displayLightbox("block");
}

function addLightboxMarkup() 
{
	bod=document.getElementsByTagName('body')[0];
	overlay=document.createElement('div');
	overlay.id='overlay';
	lb=document.createElement('div');
	lb.id='lightbox';
	lb.className='loading';
	lb.innerHTML='<div id="lbLoadMessage" align="center">' +'<img src="/images/loading.gif" width="32">' +'</div>';
	bod.appendChild(overlay);
	bod.appendChild(lb);
}

function getScroll()
{
	
	if (self.pageYOffset) 
	{
		yPos = self.pageYOffset;
	} 
	else if (document.documentElement && document.documentElement.scrollTop)
	{
		yPos = document.documentElement.scrollTop; 
	} 
	else if (document.body) 
	{
		yPos = document.body.scrollTop;
	}
}

function setScroll(x, y)
{
		window.scrollTo(x, y); 
}

function prepareIE(height, overflow)
{
	bod = document.getElementsByTagName('body')[0];
	bod.style.height = height;
	bod.style.overflow = overflow;
	htm = document.getElementsByTagName('html')[0];
	htm.style.height = height;
	htm.style.overflow = overflow; 
}

function hideSelects(visibility)
{
		selects = document.getElementsByTagName('select');
		for(i = 0; i < selects.length; i++) 
		{
			selects[i].style.visibility = visibility;
		}
}
function displayLightbox(display)
{
		document.getElementById('overlay').style.display = display;
		document.getElementById('lightbox').style.display = display;
		if(display != 'none') 
		{
			var lb=document.getElementById('lightbox');
			cl=document.createElement('div');
			cl.id='TopBar';
			cl.style.background="#cccc66";
			cl.style.textAlign="right";
			cl.innerHTML='&nbsp;<img id="CloseMe" onclick="reset();" src="/images/close.gif" height="13">';
			lb.appendChild(cl);
			lbc=document.createElement('div');
			lbc.id='lbContent';
			lb.appendChild(lbc);
			lb.className = "done";
			//document.getElementById('lbContent').innerHTML=response;
		lb.style.left=(document.body.offsetWidth-w)/2;
		lb.style.top=(document.body.offsetHeight-h)/2;
		lbc.innerHTML="<iframe id='innerFrame' src='"+fn+"' scrolling='no' width='"+w+"'  height='"+h+"'></iframe>";
		}
}

function reset()
{
	var overlay=document.getElementById('overlay');
	var lb=document.getElementById('lightbox');
	overlay.style.display="none";
	lb.innerHTML="";
	lb.style.display="none";
	if (browser == 'Internet Explorer')
	{
		prepareIE('100%', 'auto');
		hideSelects('visible');
	}
	refresh();
}

function getBrowserInfo() {
	if (checkIt('konqueror')) {
	browser = "Konqueror";
	OS = "Linux";
	}
	else if (checkIt('safari')) browser 	= "Safari"
	else if (checkIt('omniweb')) browser 	= "OmniWeb"
	else if (checkIt('opera')) browser 		= "Opera"
	else if (checkIt('webtv')) browser 		= "WebTV";
	else if (checkIt('icab')) browser 		= "iCab"
	else if (checkIt('msie')) browser 		= "Internet Explorer"
	else if (!checkIt('compatible')) {
		browser = "Netscape Navigator"
		version = detect.charAt(8);
	}
	else browser = "An unknown browser";

	if (!version) version = detect.charAt(place + thestring.length);

	if (!OS) {
		if (checkIt('linux')) OS 		= "Linux";
		else if (checkIt('x11')) OS 	= "Unix";
		else if (checkIt('mac')) OS 	= "Mac"
		else if (checkIt('win')) OS 	= "Windows"
		else OS = "an unknown operating system";
	}
}

function checkIt(string) {
	place = detect.indexOf(string) + 1;
	thestring = string;
	return place;
}