var m_arrSlides = null;
var m_bStarted = false;
var m_bReady = true;
var m_nSlide = -1;
var bFlip = false;
var slideOn = null;
var slideOff = null;

// ****************************************************************************
// onOpenGallery
// ****************************************************************************
function onOpenGallery(nId) {
	m_bStarted = false;
	m_bReady = true;
	m_nSlide = -1;
	bFlip = false;
	slideOn = null;
	slideOff = null;
	
	document.observe('lightview:opened', function(event) {
		sIFR_Update();
		startup();
	});

	var strURL = 'gallery.html?id='+nId;
  Lightview.show({
    href: strURL,
    rel: 'ajax',
    title: '',
    caption: '',
    options: {
      width: 763,
      height: 440,
			closeButton: false,
      ajax: {
        method: 'get',
        evalScripts: true,
				onComplete: function(){
				}
      }
		}
  });
}

// ****************************************************************************
// startup
// ****************************************************************************
function startup() {
	if (!m_bStarted) {
		m_bStarted = true;
		// init nav
		updateNav();
		// show 1st slide if we have one
		if (m_arrSlides.length) {
			showSlide(1);
		}
	}
}

// ****************************************************************************
// slidesInit
// ****************************************************************************
function slidesInit(arrSlides) {
	m_arrSlides = arrSlides;
}

// ****************************************************************************
// closeSlides
// ****************************************************************************
function closeSlides() {
	Lightview.hide();
}

// ****************************************************************************
// prevSlide
// ****************************************************************************
function prevSlide() {
	showSlide(m_nSlide-1);
}

// ****************************************************************************
// nextSlide
// ****************************************************************************
function nextSlide() {
	showSlide(m_nSlide+1);
}

// ****************************************************************************
// showSlide
// ****************************************************************************
function showSlide(nSlide) {		
	if (m_bReady && nSlide != m_nSlide) {
		m_bReady = false;

		if (bFlip) {
			bFlip = false;
			slideOn = $('slide2');
			slideOff = $('slide1');
		}
		else {
			bFlip = true;
			slideOn = $('slide1');
			slideOff = $('slide2');
		}  
		var strImage = m_arrSlides[nSlide-1];
	
		m_nSlide = nSlide;
		setPageNum(m_nSlide);
		
		loadSlide(strImage);
	}
}

// ****************************************************************************
// loadSlide
// ****************************************************************************
function loadSlide(strImage) {
	var elem = new Element("img", {id: 'something'}); 
	elem.observe('load', function() { 
		// now change slide
		changeSlide();
	}); 
	// hide
	slideOn.setStyle({'display':'block','opacity':0});
	// first clear any old content
	slideOn.update();
	// now add new image
	elem.src = strImage;
	slideOn.insert(elem); 		
}

// ****************************************************************************
// changeSlide
// ****************************************************************************
function changeSlide() {
	slideOn.appear({ duration: 1.0, afterFinish: function(){m_bReady = true;} });
	slideOff.fade({ duration: 1.0 });
}

// ****************************************************************************
// updateNav
// ****************************************************************************
function updateNav() {
  setPageNum(1);
  // hide/show nav  
  if (m_arrSlides.length < 2) {
    var slidenav = $('pages').style.visibility = "hidden";
  }
  else {
    var slidenav = $('pages').style.visibility = "visible";
  }
}

// ****************************************************************************
// setPageNum
// ****************************************************************************
function setPageNum(nPage) {
  $('pages').innerHTML = nPage + "/" + m_arrSlides.length;
  // hide/show prev
  if (nPage == 1) {
    var slidenav = $('prev').style.visibility = "hidden";    
  }
  else {
    var slidenav = $('prev').style.visibility = "visible";    
  }
  // hide/show next
  if (nPage == m_arrSlides.length) {
    var slidenav = $('next').style.visibility = "hidden";    
  }
  else {
    var slidenav = $('next').style.visibility = "visible";    
  }
}

