var TimeToFade = 500.0;
var MaxAlpha = 100;
var OpenId=1;
var Timing;

function ShowBlock(eid, pref)
{	
  if (pref==undefined) pref="header_img_list";
  if (eid == OpenId) return;

  eval("if(typeof pauseFlash_"+OpenId+" == 'function') pauseFlash_"+OpenId+"()");

  HideBlock(OpenId,pref);
  OpenId = eid;
  eval("if(typeof startFlash_"+OpenId+" == 'function') startFlash_"+OpenId+"()");

  i=1;
  while (document.getElementById("nav"+i)!=null)
  {
	  if (i==eid) document.getElementById("nav"+i).className="nav_a nav_active"; else document.getElementById("nav"+i).className="nav_a";
	  i++;
  }
  var element = document.getElementById(pref+eid);
  if(element == null) return;
  
  if(element.FadeState == null)
  {
      element.FadeState = -2;
  }

  if(element.FadeState == 1 || element.FadeState == -1)
  {
    element.FadeState = element.FadeState = 1;
    element.FadeTimeLeft = TimeToFade - element.FadeTimeLeft;
  }
  else
  {
    if (element.FadeState == 2) return;
    element.FadeState = 1;
    element.FadeTimeLeft = TimeToFade;
    setTimeout("animateFade(" + new Date().getTime() + ",'" + pref + eid + "')", 5);

	eval("if(typeof playFlash_"+eid+" == 'function') setTimeout('pFlash(\"playFlash_"+eid+"()\")', 255)");
  }  
}

function automaticPlay()
{
	var k = OpenId+1;
	if (k>imgCol) k = 1;
	ShowBlock(k);
	Timing = setTimeout("automaticPlay()", 5555);
}

function startAutomaticPlay()
{
	Timing = setTimeout("automaticPlay()", 4555);
}

function stopAutomaticPlay()
{
	clearTimeout(Timing);
	Timing = setTimeout("automaticPlay()", 12555);
}


function pFlash(evl)
{	
  eval(evl);
}

function HideBlock(eid,pref)
{
  var element = document.getElementById(pref+eid);
  if(element == null) return;
  if(element.FadeState == null)
  {
    if(element.style.opacity == null
        || element.style.opacity == ''
        || element.style.opacity == '1')
    {
      element.FadeState = 2;
    }
    else
    {
      element.FadeState = -2;
    }
  }

  if(element.FadeState == 1 || element.FadeState == -1)
  {
    element.FadeState = element.FadeState = -1;
    element.FadeTimeLeft = TimeToFade - element.FadeTimeLeft;
  }
  else
  {
    if (element.FadeState == -2) return;
    element.FadeState = -1;
    element.FadeTimeLeft = TimeToFade;
    setTimeout("animateFade(" + new Date().getTime() + ",'" + pref + eid + "')", 1);
  }  
}

function animateFade(lastTick, eid)
{  
  var curTick = new Date().getTime();
  var elapsedTicks = curTick - lastTick;
 
  var element = document.getElementById(eid);
 
  if(element.FadeTimeLeft <= elapsedTicks)
  {
    if (element.FadeState == 1)  SetOpacity(element, MaxAlpha); else SetOpacity(element, 0);;
    element.FadeState = element.FadeState == 1 ? 2 : -2;
    return;
  }
 
  element.FadeTimeLeft -= elapsedTicks;
  var newOpVal = element.FadeTimeLeft/TimeToFade;
  if(element.FadeState == 1) newOpVal = MaxAlpha/100 - newOpVal;

  SetOpacity(element, newOpVal*100);
 
  setTimeout("animateFade(" + curTick + ",'" + eid + "')", 5);
}

function SetOpacity(elem, opacityAsInt)
{
    if(elem == null) return;
	
	if (opacityAsInt>0) elem.style.display = "block"; else elem.style.display = "none";
	
    var opacityAsDecimal = opacityAsInt;
    
    if (opacityAsInt > 100)
        opacityAsInt = opacityAsDecimal = 100; 
    else if (opacityAsInt < 0)
        opacityAsInt = opacityAsDecimal = 0; 
   
    opacityAsDecimal /= 100;
    if (opacityAsInt < 1) opacityAsInt = 1; // IE7 bug, text smoothing cuts out if 0
    
    elem.style.opacity = (opacityAsDecimal);
    elem.style.filter  = "alpha(opacity=" + opacityAsInt + ")";
}

function addOnloadEvent(fnc){
  if ( typeof window.addEventListener != "undefined" )
    window.addEventListener( "load", fnc, false );
  else if ( typeof window.attachEvent != "undefined" ) {
    window.attachEvent( "onload", fnc );
  }
  else {
    if ( window.onload != null ) {
      var oldOnload = window.onload;
      window.onload = function ( e ) {
        oldOnload( e );
        window[fnc]();
      };
    }
    else
      window.onload = fnc;
  }
}

ImgInit = function() {
	var portfilio_max_height = 0;
	var el;
	var main_el = document.getElementById("portfolio_img_container");
	main_el.style.display="block";
	for (var i=1; i<=portfilio_img_col; i++) { 
		el = document.getElementById("portfolio_img_list"+i);
		el.style.display = "block";
		if (el != null) if (portfilio_max_height < el.offsetHeight) portfilio_max_height = el.offsetHeight;
	}
	for (var i=1; i<=portfilio_img_col; i++) { 
		el = document.getElementById("portfolio_img_list"+i);
		if (el != null) 
		{
			el.style.top=Math.round((portfilio_max_height-el.offsetHeight)/2)+"px";
			el.style.left=Math.round((main_el.offsetWidth-el.offsetWidth)/2)+"px";
			if (i>1) el.style.display = "none";
		}
	}
	main_el.style.height = portfilio_max_height+"px";
	main_el.style.visibility = "visible";
	document.getElementById("portfolio_nav_prev").style.top = (portfilio_max_height/2-31)+"px";
	document.getElementById("portfolio_nav_next").style.top = (portfilio_max_height/2-31)+"px";
	SetNav();
};

function SetNav()
{
	if (OpenId == 1) document.getElementById("portfolio_nav_prev").style.display = "none"; else document.getElementById("portfolio_nav_prev").style.display = "block";
	if (OpenId == portfilio_img_col) document.getElementById("portfolio_nav_next").style.display = "none"; else document.getElementById("portfolio_nav_next").style.display = "block";
}

function ShowNext()
{
	ShowBlock(OpenId+1,"portfolio_img_list");
	SetNav();
}

function ShowPrev()
{
	ShowBlock(OpenId-1,"portfolio_img_list");
	SetNav();
}
