var priorCenterItem = 1;
var imageList = [ "",
"/images/photo-gallery/most-no.of-runs-in-a-ranji-season/thumbnails/laxman-75-75-thumb-gallery.jpg",
"/images/photo-gallery/most-no.of-runs-in-a-ranji-season/thumbnails/sriram-75-75-thumb-gallery.jpg",
"/images/photo-gallery/most-no.of-runs-in-a-ranji-season/thumbnails/wasimjaffer-75-75-thumb-gal.jpg",
"/images/photo-gallery/most-no.of-runs-in-a-ranji-season/thumbnails/rahane-75-75-thumb-gallery.jpg",
"/images/photo-gallery/most-no.of-runs-in-a-ranji-season/thumbnails/Raman-75-75-thumb-gallery.jpg"];
var urlList = [ "",
"/images/photo-gallery/most-no.of-runs-in-a-ranji-season/laxman-400-040109-gallery.jpg",
"/images/photo-gallery/most-no.of-runs-in-a-ranji-season/sriram-400-gallery-040109.jpg",
"/images/photo-gallery/most-no.of-runs-in-a-ranji-season/wasimjaffer-400-040109-gall.jpg",
"/images/photo-gallery/most-no.of-runs-in-a-ranji-season/ajinkyarahane-400-gallery-0.jpg",
"/images/photo-gallery/most-no.of-runs-in-a-ranji-season/raman-400-thumb-gallery.jpg"];
var headList = [ "",
"VVS Laxman (Hyderabad)",
"S Sriram (Tamil Nadu)",
"W Jaffer (Mumbai)",
"AM Rahane (Mumbai)",
"W V Raman (Tamil Nadu)"];
var capList = [ "",
"Laxman scored 1415 runs at an average of 108.85 in the 1999-00 season",
"Sriram scored 1075 runs at an average of 97.73 in the 1999-00 season",
"Jaffer scored 1035 runs at an average of 86.25 in the 2008-09 season",
"Rahane scored 1028 runs at an average of 79.07 in the 2008-09 season",
"Raman scored 1018 runs at an average of 145.43 in the 1988-89 season"];
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);

