
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}


Spry.Utils.addLoadListener(function() {


String.prototype.times = function(count) {
  return count < 1 ? '' : new Array(count + 1).join(this);
};

Number.prototype.toPaddedString = function(length, radix) {
  var string = this.toString(radix || 10);
  return '0'.times(length - string.length) + string;
};

(function() {
  var allImages = [], totalRe = /total-images-(\d)+/;
  
  for (var i = 0, length = document.images.length; i < length; i++) {
    var image = document.images[i], totalMatch = image.className.match(totalRe);
    if (totalMatch) {
      
      // setup click
      image.onclick = function() {
        var match = this.src.match(/-(\d+)\.jpg/),
            base  = this.src.replace(match[0], '-'),
            next  = parseInt(match[1]),
            total = this.className.match(/total-images-(\d)+/)[1];
            
        if (next <= total -1) next++;
        else next = 1;
        
        this.src = base + next.toPaddedString(2) + '.jpg'
      }
      
      // setup preload
      for (var j = 1, len = parseInt(totalMatch[1]); j <= len; j++)
        allImages.push(image.src.replace(/-\d+\.jpg/, '-' + j.toPaddedString(2) + '.jpg'))
    }
  };
  
  // preload when page is loaded (preserve the original window.onload if any)
  var _onload = window.onload, length = allImages.length;
  window.onload = function() {
    while (length--) new Image().src = allImages[length];
    _onload && _onload();
  }
})();



});

