var TimeToFade = 500.0;
var MaxAlpha = 100;
var OpenId=1;
var imgCol=3;
var Timing;
var AnimPlayed = 1;
var bDate = new Date("28 September, 2011"); 

function moveSelector()
{
  var i = 1;
  while (document.getElementById("nav"+i)!=null)
  {
	  if (i==OpenId) $("#nav"+i).css("top","-10px"); else $("#nav"+i).css("top","-1px");
	  i++;
  }
}

function ShowBlock(eid, pref)
{	
  if (pref==undefined) pref="header_img_list";
  if (eid == OpenId) return;

  HideBlock(OpenId,pref);
  OpenId = eid;
  moveSelector();

  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);
  }  
}

function setTimePlay()
{
	clearTimeout(Timing);
	if (AnimPlayed != 0) Timing = setTimeout("automaticPlay()", 5555);
}

function nextSlide()
{
	var k = OpenId+1;
	if (k>imgCol) k = 1;
	ShowBlock(k);
	setTimePlay();
}

function prevSlide()
{
	var k = OpenId-1;
	if (k<1) k = imgCol;
	ShowBlock(k);
	setTimePlay();
}

function playSlide(nnn)
{
	ShowBlock(nnn);
	setTimePlay();
}

function automaticPlay()
{
	if (AnimPlayed == 0) return;
	var k = OpenId+1;
	if (k>imgCol) k = 1;
	ShowBlock(k);
	setTimePlay();
}

function startAutomaticPlay()
{
	moveSelector();
	Timing = setTimeout("automaticPlay()", 4555);
	setInterval("setTimer()", 1000);
}

function calcage(secs, num1, num2) {
  return ((Math.floor(secs/num1))%num2).toString();
}

function setTimer()
{
	var d = new Date();
	var end = new Date(d.getFullYear(), d.getMonth()+1, d.getDate());
	var ddiff = new Date(end-d);
	var mdiff = bDate.getMonth() - d.getMonth() + (bDate.getFullYear() - d.getFullYear())*12;
	var diff = bDate.getDate() - d.getDate() - 1;
	if (diff<0)
	{
		mdiff--;
		var dd = new Date(d.getFullYear(), d.getMonth()+1, 0);
		var diff = dd.getDate() + diff;
	}

	var secs = Math.floor(ddiff.valueOf()/1000);
	$("#counter").html('<span class="c_dig">'+mdiff+'</span><span class="c_sep">:</span><span class="c_dig">'+diff+'</span><span class="c_sep">:</span><span class="c_dig">'+calcage(secs,3600,24)+'</span><span class="c_sep">:</span><span class="c_dig">'+calcage(secs,60,60)+'</span><span class="c_sep">:</span><span class="c_dig">'+calcage(secs,1,60))+'</span>';		
}

function stopAutomaticPlay()
{
	clearTimeout(Timing);
	Timing = setTimeout("automaticPlay()", 12555);
}


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 ShowProd(nnn)
{
  var i = 1;
  while (document.getElementById("prod_tmb"+i)!=null)
  {
	  var el = document.getElementById("prod_tmb"+i);
	  if (i==nnn) { if (el.className.indexOf("tmb_sel")==-1) el.className+=" tmb_sel"; } else el.className=el.className.replace(new RegExp(" tmb_sel\\b"), "");
	  i++;
  }	
  ShowBlock(nnn, "prod_img");
}

function galleryNav(nb, total, elts, settings) {
	settings.title= '<div class="zoom_tmb_container">';
	for (var i = 1; i<=total; i++)
	{
		var ts = "";
		if (i == nb) ts = " tmb_sel";
		settings.title+= '<div id="prod_z_tmb'+i+'" class="prod_tmb'+ts+'"><a href="javascript:ShowZoomProd('+i+');"><img src="images/'+settings.gallery+i+'_tmb.jpg"></a></div>';
	}
	settings.title+= '</div>';
}

function setZoomTmb(nnn)
{
  var i = 1;
  while (document.getElementById("prod_z_tmb"+i)!=null)
  {
	  var el = document.getElementById("prod_z_tmb"+i);
	  if (i==nnn) { if (el.className.indexOf("tmb_sel")==-1) el.className+=" tmb_sel"; } else el.className=el.className.replace(new RegExp(" tmb_sel\\b"), "");
	  i++;
  }	
}

function ShowZoomProd(nnn)
{
  $.nyroModalShow(nnn-1);
}

function zoomPress()
{
  var i = 1;
  while (document.getElementById("prod_tmb"+i)!=null)
  {
	  var el = document.getElementById("prod_tmb"+i);
	  if (el.className.indexOf("tmb_sel")!=-1)
	  {
		  $("#prod_img"+i).nyroModalManual();
	  }
	  i++;
  }	

}
