var  TimeToFade = 500.0;

function toggle(div_id, fadeInMax) {
	var el = document.getElementById(div_id);
	if ( el.style.display == 'none' ) {
		el.style.display = 'block';
		fade(div_id, fadeInMax);
	} else {
		fade(div_id, fadeInMax);
	}
}

function blanket_size(popUpDivVar) {
	if (typeof window.innerWidth != 'undefined') {
		viewportheight = window.innerHeight;
	} else {
		viewportheight = document.documentElement.clientHeight;
	}
	if ((viewportheight > document.body.parentNode.scrollHeight) && (viewportheight > document.body.parentNode.clientHeight)) {
		blanket_height = viewportheight;
	} else {
		if (document.body.parentNode.clientHeight > document.body.parentNode.scrollHeight) {
			blanket_height = document.body.parentNode.clientHeight;
		} else {
			blanket_height = document.body.parentNode.scrollHeight;
		}
	}
	var blanket = document.getElementById('blanket');
	blanket.style.height = blanket_height + 'px';
	var popUpDiv = document.getElementById(popUpDivVar);
	popUpDiv_height=blanket_height/2-200;//150 is half popup's height
	popUpDiv.style.top = '150px';//popUpDiv_height + 'px';
}
function window_pos(popUpDivVar) {
	if (typeof window.innerWidth != 'undefined') {
		viewportwidth = window.innerHeight;
	} else {
		viewportwidth = document.documentElement.clientHeight;
	}
	if ((viewportwidth > document.body.parentNode.scrollWidth) && (viewportwidth > document.body.parentNode.clientWidth)) {
		window_width = viewportwidth;
	} else {
		if (document.body.parentNode.clientWidth > document.body.parentNode.scrollWidth) {
			window_width = document.body.parentNode.clientWidth;
		} else {
			window_width = document.body.parentNode.scrollWidth;
		}
	}
	var popUpDiv = document.getElementById(popUpDivVar);
	window_width=window_width/2-350;//150 is half popup's width
	popUpDiv.style.left = window_width + 'px';
}
function popup(windowname) {
	blanket_size(windowname);
	window_pos(windowname);
	toggle('blanket', '.5');
	toggle(windowname, '1');
}

function fade(eid, maxFadeIn)
{
  var element = document.getElementById(eid);
  if(element == null)
    return;
   
  if(element.FadeState == null)
  {
    if(element.style.opacity == null
        || element.style.opacity == ''
        || element.style.opacity == maxFadeIn)
    {
      element.FadeState = 2;
    }
    else
    {
      element.FadeState = -2;
    }
  }
   
  if(element.FadeState == 1 || element.FadeState == -1)
  {
    element.FadeState = element.FadeState == 1 ? -1 : 1;
    element.FadeTimeLeft = TimeToFade - element.FadeTimeLeft;
  }
  else
  {
    element.FadeState = element.FadeState == 2 ? -1 : 1;
    element.FadeTimeLeft = TimeToFade;
    setTimeout("animateFade(" + new Date().getTime() + ",'" + eid + "', " + maxFadeIn + ")", 33);
  }  
}

function  animateFade(lastTick, eid, maxFadeIn)
{  
  var curTick = new Date().getTime();
  var elapsedTicks = curTick - lastTick;
 
  var element = document.getElementById(eid);
 
//  if (element.style.opacity > maxFadeIn)
//	  alert('oh noooo!');
  
  if(element.FadeTimeLeft <= elapsedTicks)
  {
    element.style.opacity = element.FadeState == 1 ? maxFadeIn : '0';
    element.style.filter = 'alpha(opacity = '
        + (element.FadeState == 1 ? maxFadeIn*100 : '0') + ')';
    element.FadeState = element.FadeState == 1 ? 2 : -2;
    
    if (element.style.opacity == '0' || element.style.filter == 'alpha(opacity = 0)')
    	element.style.display = 'none';
    
    return;
  }
 
  element.FadeTimeLeft -= elapsedTicks;
  var newOpVal = (element.FadeTimeLeft/TimeToFade);
  if(element.FadeState == 1)
    newOpVal = 1 - newOpVal;

  element.style.opacity = newOpVal*maxFadeIn;
  element.style.filter = 'alpha(opacity = ' + (newOpVal*maxFadeIn*100) + ')';
 
  setTimeout("animateFade(" + curTick + ",'" + eid + "', " + maxFadeIn + ")", 33);
}
