var priorCenterItem = 1;
var imageList = [ "",
"/images/photo-gallery/5th-odi-sri-lanka-v-india/thumbnails/jaya-thumb-gal-290808.jpg",
"/images/photo-gallery/5th-odi-sri-lanka-v-india/thumbnails/zaheer-thumb-gal-290808.jpg",
"/images/photo-gallery/5th-odi-sri-lanka-v-india/thumbnails/jaya2-thumb-gal-290808.jpg",
"/images/photo-gallery/5th-odi-sri-lanka-v-india/thumbnails/ojha-thumb-gal-290808.jpg",
"/images/photo-gallery/5th-odi-sri-lanka-v-india/thumbnails/gambhir-thumb-gal-290808.jpg"];
var urlList = [ "",
"/images/photo-gallery/5th-odi-sri-lanka-v-india/jaya-gal-290808.jpg",
"/images/photo-gallery/5th-odi-sri-lanka-v-india/zaheer-gal-290808.jpg",
"/images/photo-gallery/5th-odi-sri-lanka-v-india/jaya2-gal-290808.jpg",
"/images/photo-gallery/5th-odi-sri-lanka-v-india/ojha-gal-290808.jpg",
"/images/photo-gallery/5th-odi-sri-lanka-v-india/gambhir-gal-290808.jpg"];
var headList = [ "",
"THE BIG FISH",
"ALL SMILES...",
"UP IN APPEAL..",
"GRABBING THE OPPORTUNITY",
"FIERY SPELL"];
var capList = [ "",
"A dejected Sanath Jayasuriya walks back to the pavillion after edging a Zaheer Khan delivery to Pragyan Ojha. Irfan Pathan is seen celebrating in the background. Jayasuriya was dismissed for 1.",
"From left - Zaheer Khan, Irfan Pathan, Mahendra Singh Dhoni and Virat Kohli are elated at the early dismissal of Sanath Jayasuriya..",
"Suresh Raina and Mahendra Singh Dhoni go up in appeal after Ojha trapped Jayawardene on the pads. The Sri Lankan captain survived the scare...",
"Young Pragyan Ojha is congratulated by his team-mates after he claimed the wicket of Chamara Kapugedera. The left-arm orthodox bowler finished with figures of 2-28 from his 10 overs..",
"Nuwan Kulasekara celebrates the first of his four scalps after getting Gautam Gambhir to edge a delivery to keeper Sangakkara. He finished with career-best figures of 4-40..."];
var lastRan = -1;
var fmtItem = function(imgUrl, url, title, i) {
var innerHTML = '<img id="carousel-image-' + i + '" src="' + imgUrl + '" width="' + 75 + '" height="' + 75+ '"/><a id="carousel-anchor-' + i + '" href="' + url + '">' + title + '</a>';
return innerHTML;
};
var loadInitialItems = function(type, args) {
 var start = args[0];
 var last = args[1]; 
load(this, start, last);
spotlight(this);
preview(this);
};
var loadNextItems = function(type, args) {;
var li = this.getItem(priorCenterItem);;
var start = args[0];
var last = args[1];
var alreadyCached = args[2];
if(!alreadyCached) {
load(this, start, last);
 }
spotlight(this);
 preview(this);
};
var loadPrevItems = function(type, args) {
// get the last middle item and turn off spotlight
var li = this.getItem(priorCenterItem);
var start = args[0];
var last = args[1]; 
var alreadyCached = args[2];
 if(!alreadyCached) {
load(this, start, last);
}
spotlight(this);
preview(this);
};
var load = function(carousel, start, last) {
for(var i=start;i<=last;i++) {
carousel.addItem(i, fmtItem(imageList[i], urlList[i], "", i), 'non-spotlight');
 // Image click will scroll to the corresponding carousel item.
 YAHOO.util.Event.addListener('carousel-image-'+i, 'click', function(evt) {
 this.carousel.scrollTo(this.index-2);
  }, {carousel:carousel,index:i}, true);
 }
};
var getRandom = function(max, last) {
  var randomIndex;
  do {
     randomIndex = Math.floor(Math.random()*max);
   } while(randomIndex == last);
  return randomIndex;
};
var handlePrevButtonState = function(type, args) {
  var enabling = args[0];
  var leftImage = args[1];
  if(enabling) {
      leftImage.src = "/images/left-enabled.gif"; 
  } else {
     leftImage.src = "/images/left-disabled.gif";
 }
};
var handleNextButtonState = function(type, args) {
var enabling = args[0];
var rightImage = args[1];
if(enabling) {
rightImage.src = "/images/right-enabled.gif";   
} else {
rightImage.src = "/images/right-disabled.gif";
}
};
 function completeHandler(type, args) {
}
function preview(carousel) {
var firstVisible = carousel.getProperty("firstVisible");
var middle = firstVisible + 2;
var anchor = YAHOO.util.Dom.get('carousel-anchor-' + middle);
//alert(anchor.href)
YAHOO.util.Dom.get('preview').innerHTML = '<img src="' + anchor.href + '"/>';
//alert(middle);
var status = "Showing " + middle + " of 5"; 
YAHOO.util.Dom.get("indicator").innerHTML = status;
YAHOO.util.Dom.get("photo-header").innerHTML = headList[middle];
YAHOO.util.Dom.get("photo-caption").innerHTML = capList[middle];
}
function spotlight(carousel) {
var firstVisible = carousel.getProperty("firstVisible");
var start = firstVisible;
var revealAmount = carousel.getProperty("revealAmount");
var size = carousel.getProperty("size");
if(revealAmount && firstVisible > 1) {
   start = firstVisible - 1;
}
var lastVisible = firstVisible + carousel.getProperty("numVisible") - 1;
var end = lastVisible;
 if(revealAmount && lastVisible < size) {
    end = lastVisible + 1;
 }
var middle = firstVisible + 2;
for(var i=start; i<=end; i++) {
    var li = carousel.getItem(i);
   if(i == middle) {
       YAHOO.util.Dom.replaceClass(li, 'non-spotlight', 'spotlight');
       priorCenterItem = i;
   } else {
       YAHOO.util.Dom.replaceClass(li, 'spotlight', 'non-spotlight');
   }
 }
}
     var carousel; // for ease of debugging; globals generally not a good idea
var pageLoad = function() 
{
   carousel = new YAHOO.extension.Carousel("dhtml-carousel", 
      {
    numVisible:         4,
    animationSpeed:     0.6,
    animationMethod:    YAHOO.util.Easing.backBoth,
    scrollInc:          1,
    navMargin:          40,
    scrollBeforeAmount: 2,
    firstVisible:       1,
    size:               5,
    scrollAfterAmount:  2,
    prevElement:        "prev-arrow",
    nextElement:        "next-arrow",
    loadInitHandler:    loadInitialItems,
    loadNextHandler:    loadNextItems,
    loadPrevHandler:    loadPrevItems,
    prevButtonStateHandler:   handlePrevButtonState,
    nextButtonStateHandler:   handleNextButtonState,
    animationCompleteHandler: completeHandler
   }
 );
  //carousel.loadNextHandlerEvt.subscribe(beforeNext, carousel);
};
YAHOO.util.Event.addListener(window, 'load', pageLoad);

