var priorCenterItem = 1;
var imageList = [ "",
"/images/photo-gallery/ipl-final---dc-vs-brc/thumbnails/kumble250509_th.jpg",
"/images/photo-gallery/ipl-final---dc-vs-brc/thumbnails/gibbs250509_th.jpg",
"/images/photo-gallery/ipl-final---dc-vs-brc/thumbnails/symonds250509_th.jpg",
"/images/photo-gallery/ipl-final---dc-vs-brc/thumbnails/symondsgilly250509_th.jpg",
"/images/photo-gallery/ipl-final---dc-vs-brc/thumbnails/rpsingh250509_th.jpg",
"/images/photo-gallery/ipl-final---dc-vs-brc/thumbnails/gilly250509_th.jpg",
"/images/photo-gallery/ipl-final---dc-vs-brc/thumbnails/adamgilchrist250509_th.jpg",
"/images/photo-gallery/ipl-final---dc-vs-brc/thumbnails/trophy250509_th.jpg",
"/images/photo-gallery/ipl-final---dc-vs-brc/thumbnails/team250509_th.jpg",
"/images/photo-gallery/ipl-final---dc-vs-brc/thumbnails/deccan250509_th.jpg"];
var urlList = [ "",
"/images/photo-gallery/ipl-final---dc-vs-brc/kumble250509.jpg",
"/images/photo-gallery/ipl-final---dc-vs-brc/gibbs250509.jpg",
"/images/photo-gallery/ipl-final---dc-vs-brc/symonds250509.jpg",
"/images/photo-gallery/ipl-final---dc-vs-brc/symondsgilly250509.jpg",
"/images/photo-gallery/ipl-final---dc-vs-brc/rpsingh250509.jpg",
"/images/photo-gallery/ipl-final---dc-vs-brc/gilly250509.jpg",
"/images/photo-gallery/ipl-final---dc-vs-brc/adamgilchrist250509.jpg",
"/images/photo-gallery/ipl-final---dc-vs-brc/trophy250509.jpg",
"/images/photo-gallery/ipl-final---dc-vs-brc/team250509.jpg",
"/images/photo-gallery/ipl-final---dc-vs-brc/deccan250509.jpg"];
var headList = [ "",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""];
var capList = [ "",
"Anil Kumble celebrates the wicket of Adam Gilchrist",
"Herschelle Gibbs plays a shot",
"Andrew Symonds plays a shot for six",
"Adam Gilchrist embraces teammate and compatriot Andrew Symonds",
"RP Singh celebrates after winning the IPL Twenty20 final",
"Adam Gilchrist celebrates with teammates after winning the IPL Twenty20 final",
"Adam Gilchrist celebrates the dismissal of Vinay Kumar",
"SA President Jacob Zuma gives the IPL Twenty20 trophy to the winning captain Adam Gilchrist",
"The victorious Deccan Chargers hold aloft the IPL trophy",
"It's jubilation and euphoria for the Deccan Chargers team"];
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 10"; 
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:         6,
    animationSpeed:     0.6,
    animationMethod:    YAHOO.util.Easing.backBoth,
    scrollInc:          1,
    navMargin:          40,
    scrollBeforeAmount: 2,
    firstVisible:       1,
    size:               10,
    scrollAfterAmount:  3,
    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);

