var msec=500;
var appearingDiv;
var windowHeight;
var thisBrowser = navigator.appVersion;
var timeOuts = new Array();
var timeOutIndex = 0;

function displayDiv(hiddenDiv)
{
  changeOpac(0, hiddenDiv);
  changeOpac(0, 'backingDiv');
  var iereg = new RegExp('MSIE [^7-9]', 'g');
  if(iereg.exec(thisBrowser))
  {
	document.getElementById('backingDiv').style.height = document.body.offsetHeight + "px";
  }
  else
  {
  	document.getElementById('backingDiv').style.position = "fixed";
  }
  if(document.getElementById('flash_large'))
  document.getElementById('flash_large').style.visibility = "hidden";
  appearingDiv = hiddenDiv;
  opacity(hiddenDiv,0,99,msec);
  opacity('backingDiv',0,33,msec);
  setDisplay(hiddenDiv,'block');
  setDisplay('backingDiv','block');
}

function resetTimeouts()
{
	for(i=0;i<timeOuts.length;i++)
	{
  		clearInterval(timeOuts[i].interval);
  	}
	timeOutIndex = 0;
}

function quickdisplayDiv(hiddenDiv)
{
  resetTimeouts()
  changeOpac(0, hiddenDiv);
  changeOpac(0, 'backingDiv');
  appearingDiv = hiddenDiv;
  opacity(hiddenDiv,0,99,msec);
  setDisplay(hiddenDiv,'block');
}


function layerClose(hiddenDiv)
{
  opacity('backingDiv',33,0, msec);
  opacity(appearingDiv,99,0, msec);
}

function setDisplay(objectID,state) 
{
	var obj = document.getElementById(objectID);
	obj.style.display = state;
}

function checkOpacity(myObject)
{
	if((myObject.thisstep > 0 && myObject.currentOpacity < myObject.opacEnd) || (myObject.thisstep < 0 && myObject.currentOpacity > myObject.opacEnd))
	{
		changeOpac(myObject.currentOpacity,myObject.id);
		myObject.currentOpacity += myObject.thisstep;
	}
	else
	{
		clearInterval(myObject.interval);
		changeOpac(myObject.opacEnd,myObject.id);
		if(myObject.opacEnd == 0)
		setDisplay(myObject.id,"none");
		if(document.getElementById('golfHolder'))
		document.getElementById('golfHolder').style.height = newHeight + 'px';
		if(document.getElementById('flash_large') && myObject.id != "backingDiv")
		document.getElementById('flash_large').style.visibility = "visible";		
	}
}

function fader(target, start, end, msec, thisIndex)
{
	this.opacStart = start;
	this.opacEnd = end;
	this.id = target;
	if(start < end)
	this.thisstep = 10;
	else
	this.thisstep = -10;
	this.currentOpacity = start;
	this.changeOpac = changeOpac;
	this.interval = setInterval("checkOpacity(timeOuts["+thisIndex+"])",Math.round(msec / 100));
}

function opacity(id, opacStart, opacEnd, msec) 
{
	timeOuts[timeOutIndex] = new fader(id, opacStart, opacEnd, msec, timeOutIndex);
	timeOutIndex++;
}

function changeOpac(opacity, id) {
	var object = document.getElementById(id).style;
	object.opacity = (opacity / 100);
	object.MozOpacity = (opacity / 100);
	object.KhtmlOpacity = (opacity / 100);
	object.filter = "alpha(opacity=" + opacity + ")";
}
