var gLoading = document.createElement("div");
var gLoadingInit = 0;
var gFade = document.createElement("div");
var gFadeInit = 0;

function FadeInit()
{
    gFade.className='overlay';
    gFade.style.visibility = "hidden";
    gFade.style.position = "absolute";
    gFade.style.left = document.body.scrollLeft + "px";
    gFade.style.top = document.body.scrollTop + "px";;
    gFade.style.width = document.body.clientWidth + "px";
    gFade.style.height = document.body.clientHeight + "px";
  
  if( gFadeInit == 0)
  {
    document.body.appendChild(gFade);
    gFadeInit = 1;
  }
}

function FadeOn()
{
  FadeInit();
  gFade.style.visibility = "visible";
}
function FadeOff()
{
  FadeInit();
  gFade.style.visibility = "hidden";
}

ImageExpander.prototype.onload = function()
{
	gLoading.style.visibility = "hidden";
	this.oImg.style.visibility = "hidden";
	this.oDiv.appendChild(this.oImg);
	this.oDiv.style.position = "absolute";
	this.oDiv.expander = this;
	this.oDiv.onclick = function() {this.expander.hide();};
	this.oImg.title = "Click to close.";
	this.bigWidth = this.oImg.width;
	this.bigHeight = this.oImg.height+30;
	
	// calculate screen dimensions
	var cw = document.body.clientWidth;
	var ch = document.body.clientHeight;
	var cx = document.body.scrollLeft + cw / 2;
	var cy = document.body.scrollTop + ch / 2;

	// calculate target
	var tw,th,tx,ty;
	
	tw = this.bigWidth;
	th = this.bigHeight;
	if ( tw > cw )
	{
		th *= cw / tw;
		tw = cw;
	}	
	if ( th > ch )
	{
		tw *= ch / th;
		th = ch;
	}
	tx = cx - tw / 2;
	ty = cy - th / 2;
	
	this.oDiv.style.left = tx + "px";
	this.oDiv.style.top = ty + "px";
	this.oDiv.style.width = tw + "px";
	this.oDiv.style.height = th + "px";
	this.oImg.style.width = tw + "px";
	this.oImg.style.height = (th-30) + "px";
	
	this.oDiv.style.visibility = "visible";
	this.oImg.style.visibility = "visible";
}
ImageExpander.prototype.hide = function()
{
	this.oDiv.style.visibility = "hidden";
	this.oImg.style.visibility = "hidden";
	FadeOff();
}

function ImageExpander(oThumb, sImgSrc, sTitle)
{
loadingInit();
FadeOn();
var cw = document.body.clientWidth;
var ch = document.body.clientHeight;
var cx = document.body.scrollLeft + cw / 2;
var cy = document.body.scrollTop + ch / 2;
cx = cx - 110;
cy = cy - 10;
gLoading.style.left = cx + "px";
gLoading.style.top = cy + "px";
gLoading.style.visibility = "visible";

	this.oDiv = document.createElement("div");
	this.oDiv.style.visibility = "hidden";
	this.oDiv.innerHTML="<p class='PHOTOH3'><img class='ontop' align='right' src='images/hide.gif' border='0' alt='Close' title='Close' />"+sTitle+"</p>";
	this.oDiv.className='PHOTO'; 
	document.body.appendChild(this.oDiv);
	this.oDiv.style.zIndex="10";

	// create the full sized image.
	this.oImg = new Image();
	this.oImg.expander = this;
	this.oImg.onload = function(){this.expander.onload();}
	this.oImg.src = sImgSrc;
}

function SWFExpander(oThumb, sImgSrc, nWidth, nHight, sTitle)
{
	FadeOn();
	this.oDiv = document.createElement("div");
	this.oDiv.style.visibility = "hidden";
	this.oDiv.innerHTML="<p class='PHOTOH3'><img class='ontop' align='right' src='images/hide.gif' border='0' alt='Close' title='Close' />"+sTitle+"</p>"+sImgSrc;
	this.oDiv.className='PHOTO'; 
	document.body.appendChild(this.oDiv);
	this.oDiv.style.zIndex="8";
	
	this.bigWidth = nWidth;
	this.bigHeight = nHight+24;
	
	// calculate screen dimensions
	var cw = document.body.clientWidth;
	var ch = document.body.clientHeight;
	var cx = document.body.scrollLeft + cw / 2;
	var cy = document.body.scrollTop + ch / 2;

	// calculate target
	var tw,th,tx,ty;
	
	tw = this.bigWidth;
	th = this.bigHeight;
	if ( tw > cw )
	{
		th *= cw / tw;
		tw = cw;
	}	
	if ( th > ch )
	{
		tw *= ch / th;
		th = ch;
	}
	tx = cx - tw / 2;
	ty = cy - th / 2;
	
	this.oDiv.style.left = tx + "px";
	this.oDiv.style.top = ty + "px";
	this.oDiv.style.width = tw + "px";
	this.oDiv.style.height = th + "px";
	
	this.oDiv.style.position = "absolute";
	
	this.oDiv.style.visibility = "visible";
	
	this.oDiv.expander = this;
	this.oDiv.onclick = function() {this.expander.hide();};
}
SWFExpander.prototype.hide = function()
{
	this.oDiv.style.visibility = "hidden";
	FadeOff();
}

function loadingInit()
{
	gLoading.style.visibility = "hidden";
	gLoading.innerHTML="Loading...<br/><img src='images/loading.gif' border='0' />";
	gLoading.className='PHOTO';
	gLoading.style.zIndex="9";
	gLoading.style.position = "absolute";
	var cw = document.body.clientWidth;
	var ch = document.body.clientHeight;
	var cx = document.body.scrollLeft + cw / 2;
	var cy = document.body.scrollTop + ch / 2;
	cx = cx - 110;
	cy = cy - 10;
	gLoading.style.left = cx + "px";
	gLoading.style.top = cy + "px";
	if( gLoadingInit == 0)
	{
	   	document.body.appendChild(gLoading);
	   	gLoadingInit = 1;
	}
}