
var photoGalleries = new Object();

function photoGallery(instance, id, title, path, link) {

  this.instance=instance;
  this.id=id;
  this.title=title;
  this.path=path;
  this.link=link;
  this.showTitle = true;
  this.showDescription = true;
  this.showChooser = true;
  this.showSlideshowControls = true;
  this.showStatistics = true;
  this.autoStartSlideshow = false;
  this.maxWidth = 10000;
  this.maxHeight = 10000;
  this.currentPhotoId = 0;
  this.currentIndex = 0;
  this.chooserButtonTimer;
  this.chooserButtonDirection;
  this.slideshowStarted = false;
  this.slideshowTimer;
  this.slideshowSpeed = 5;
  this.photos = new Object();
  this.photoCount = 0;
  this._firstPhotoId = 0;
  this._lastPhotoId = 0;

  this.addPhoto = function (id, title, description, extension, thumbnail, large, original, prevPhotoId, nextPhotoId, rank) {
    this.photos[String(id)] = new photo(id, title, description, extension, thumbnail, large, original, prevPhotoId, nextPhotoId, rank, this.path);
    this.photoCount++;
  }

  this.place = function (container, startingPhotoId) {

    var clear;
    var tableBody;
    var tableRow;
    var tableCell;
    var link;
    var photoGalleryHolder = window.document.createElement('div');
    photoGalleryHolder.id = 'PhotoGallery'+this.instance;
    $(photoGalleryHolder).addClassName('PhotoGallery');
    $(container).appendChild(photoGalleryHolder);
    
    // Place Chooser
    if (this.showChooser) {
      var photoChooser = window.document.createElement('div');
      photoChooser.id = 'PhotoChooser'+this.instance;
      $(photoChooser).addClassName('PhotoChooser');
      var photoChooserTable = window.document.createElement('table');
      photoChooserTable.id = 'PhotoChooserTable'+this.instance;
      $(photoChooserTable).addClassName('PhotoChooserTable');
      photoChooserTable.setAttribute('cellpadding', '0');
      photoChooserTable.setAttribute('cellspacing', '0');
      photoChooserTable.setAttribute('align', 'center');
      photoChooser.appendChild(photoChooserTable);
      tableBody = window.document.createElement('tbody');
      tableRow = window.document.createElement('tr');
      // Previous
      tableCell = window.document.createElement('td');
      $(tableCell).addClassName('PhotoChooserControlCell');
      var photoChooserPrev = window.document.createElement('img');
      photoChooserPrev.setAttribute('alt', '<');
      photoChooserPrev.id = 'PhotoChooserPrev'+this.instance;
      $(photoChooserPrev).addClassName('PhotoChooserControl');
      photoChooserPrev.src = '/images/buttons/button_paging_previous.jpg';
      photoChooserPrev.setAttribute('onmousedown', 'photoGalleries['+this.instance+'].chooserButtonDown(-1)');
      photoChooserPrev.setAttribute('onmouseup', 'photoGalleries['+this.instance+'].chooserButtonUp()');
      tableCell.appendChild(photoChooserPrev);    
      tableRow.appendChild(tableCell);
      // Window
      tableCell = window.document.createElement('td');
      $(tableCell).addClassName('PhotoChooserWindowCell');
      var photoChooserWindow = window.document.createElement('div');
      photoChooserWindow.id = 'PhotoChooserWindow'+this.instance;
      $(photoChooserWindow).addClassName('PhotoChooserWindow');
      var photoChooserThumbnails = window.document.createElement('span');
      photoChooserThumbnails.id = 'PhotoChooserThumbnails'+this.instance;
      $(photoChooserThumbnails).addClassName('PhotoChooserThumbnails');
      photoChooserWindow.appendChild(photoChooserThumbnails);
      tableCell.appendChild(photoChooserWindow);
      tableRow.appendChild(tableCell);    
      // Next
      tableCell = window.document.createElement('td');
      $(tableCell).addClassName('PhotoChooserControlCell');
      var photoChooserNext = window.document.createElement('img');
      photoChooserNext.setAttribute('alt', '>');
      photoChooserNext.id = 'PhotoChooserNext'+this.instance;
      $(photoChooserNext).addClassName('PhotoChooserControl');
      photoChooserNext.src = '/images/buttons/button_paging_next.jpg';
      photoChooserNext.setAttribute('onmousedown', 'photoGalleries['+this.instance+'].chooserButtonDown(1)');
      photoChooserNext.setAttribute('onmouseup', 'photoGalleries['+this.instance+'].chooserButtonUp()');
      tableRow.appendChild(tableCell);
      tableCell.appendChild(photoChooserNext);    
      
      tableBody.appendChild(tableRow);
      photoChooserTable.appendChild(tableBody);

      // Place Chooser Clear    
      clear = window.document.createElement('div');
      $(clear).setStyle({'clear':'both'});
      photoGalleryHolder.appendChild(clear);

      // Place Thumbnails in Chooser
      var photo;
      var chooserThumbnailLink;
      var chooserThumbnailFrame;
      var chooserThumbnailImage;
      for (photoId in this.photos) {
        photo = this.photos[photoId];
        chooserThumbnailLink = window.document.createElement('a');
        chooserThumbnailLink.id = 'PhotoChooserThumbnailLink'+this.instance+'_'+photoId;
        chooserThumbnailLink.href = 'javascript:photoGalleries['+this.instance+'].photoSwitch('+photoId+')';
        $(chooserThumbnailLink).addClassName('PhotoChooserThumbnailLink');
        $(chooserThumbnailLink).setOpacity(.5);
        chooserThumbnailImage = window.document.createElement('img');
        chooserThumbnailImage.src = photo.thumbnailPath();
        chooserThumbnailImage.setAttribute('alt', '');
        chooserThumbnailImage.setAttribute('onmouseover', 'photoGalleries['+this.instance+'].chooserThumbnailOver('+photoId+')');
        chooserThumbnailImage.setAttribute('onmouseout', 'photoGalleries['+this.instance+'].chooserThumbnailOut('+photoId+')');
        $(chooserThumbnailImage).addClassName('PhotoChooserThumbnailImage');
        chooserThumbnailLink.appendChild(chooserThumbnailImage);
        photoChooserThumbnails.appendChild(chooserThumbnailLink);
      }

      photoGalleryHolder.appendChild(photoChooser);

    }

    // Place Photo Holder
    var photoPlaceholder = window.document.createElement('div');
    photoPlaceholder.id = 'PhotoPlaceholder'+this.instance;
    $(photoPlaceholder).addClassName('PhotoPlaceholder');
    photoGalleryHolder.appendChild(photoPlaceholder);

    var photoHolderEven = window.document.createElement('div');
    photoHolderEven.id = 'PhotoHolderEven'+this.instance;
    $(photoHolderEven).addClassName('PhotoHolder');
    photoPlaceholder.appendChild(photoHolderEven);
    if (this.showTitle) {
      var photoTitleEven = window.document.createElement('div');
      photoTitleEven.id = 'PhotoTitleEven'+this.instance;
      $(photoTitleEven).addClassName('PhotoTitle');
      photoHolderEven.appendChild(photoTitleEven);
    }
    var photoLinkEven = window.document.createElement('a');
    photoLinkEven.id = 'PhotoLinkEven'+this.instance;
    photoHolderEven.appendChild(photoLinkEven);
    var photoImageEven = window.document.createElement('img');
    photoImageEven.id = 'PhotoImageEven'+this.instance;
    photoImageEven.src = '/images/icons/image-loading.gif';
    photoImageEven.setAttribute('alt', '');
    photoImageEven.setAttribute('border', '0');
    photoLinkEven.appendChild(photoImageEven);
    if (this.showDescription) {
      var photoDescriptionEven = window.document.createElement('div');
      photoDescriptionEven.id = 'PhotoDescriptionEven'+this.instance;
      $(photoDescriptionEven).addClassName('PhotoDescription');
      photoHolderEven.appendChild(photoDescriptionEven);
    }

    var photoHolderOdd = window.document.createElement('div');
    photoHolderOdd.id = 'PhotoHolderOdd'+this.instance;
    $(photoHolderOdd).addClassName('PhotoHolder');
    $(photoHolderOdd).setStyle({'display':'none'});
    photoPlaceholder.appendChild(photoHolderOdd);
    if (this.showTitle) {
      var photoTitleOdd = window.document.createElement('div');
      photoTitleOdd.id = 'PhotoTitleOdd'+this.instance;
      $(photoTitleOdd).addClassName('PhotoTitle');
      photoHolderOdd.appendChild(photoTitleOdd);
    }
    var photoLinkOdd = window.document.createElement('a');
    photoLinkOdd.id = 'PhotoLinkOdd'+this.instance;
    photoHolderOdd.appendChild(photoLinkOdd);
    var photoImageOdd = window.document.createElement('img');
    photoImageOdd.id = 'PhotoImageOdd'+this.instance;
    photoImageOdd.src = '/images/icons/image-loading.gif';
    photoImageOdd.setAttribute('alt', '');
    photoImageOdd.setAttribute('border', '0');
    photoLinkOdd.appendChild(photoImageOdd);
    if (this.showDescription) {
      var photoDescriptionOdd = window.document.createElement('div');
      photoDescriptionOdd.id = 'PhotoDescriptionOdd'+this.instance;
      $(photoDescriptionOdd).addClassName('PhotoDescription');
      photoHolderOdd.appendChild(photoDescriptionOdd);
    }

    // Place Slideshow Controls
    if (this.showSlideshowControls) {
      var slideshowControls = window.document.createElement('div');
      slideshowControls.id = 'SlideshowControls'+this.instance;
      $(slideshowControls).addClassName('SlideshowControls');
      photoGalleryHolder.appendChild(slideshowControls);
      var slideshowControlsTable = window.document.createElement('table');
      slideshowControlsTable.id = 'SlideshowControlsTable'+this.instance;
      $(slideshowControlsTable).addClassName('SlideshowControlsTable');
      slideshowControlsTable.setAttribute('cellpadding', '0');
      slideshowControlsTable.setAttribute('cellspacing', '0');
      slideshowControlsTable.setAttribute('width', '100%');
      slideshowControls.appendChild(slideshowControlsTable);
      tableBody = window.document.createElement('tbody');
      tableRow = window.document.createElement('tr');
      slideshowControlsTable.appendChild(tableRow);
      tableCell = window.document.createElement('td');
      tableCell.setAttribute('align', 'left');
      $(tableCell).addClassName('SlideshowControlCell');
      link = window.document.createElement('a');
      link.href = 'javascript:photoGalleries['+this.instance+'].slideshowAdvance(-1, true)';
      $(link).addClassName('SlideshowControl');
      $(link).update('&lt; Previous');
      tableCell.appendChild(link);
      tableRow.appendChild(tableCell);
      tableCell = window.document.createElement('td');
      tableCell.setAttribute('align', 'center');
      $(tableCell).addClassName('SlideshowControlCell');
      var slideshowToggle = window.document.createElement('div');
      slideshowToggle.id = 'SlideshowToggle'+this.instance;
      $(slideshowToggle).addClassName('SlideshowToggle');
      tableCell.appendChild(slideshowToggle);
      link = window.document.createElement('a');
      link.id = 'SlideshowToggleLink'+this.instance;
      link.href = 'javascript:photoGalleries['+this.instance+'].slideshowToggle()';
      $(link).addClassName('SlideshowToggleLink');
      $(link).addClassName('SlideshowControl');
      $(link).update('Start Slideshow');
      slideshowToggle.appendChild(link);
      var slideshowSpeedControls = window.document.createElement('div');
      slideshowSpeedControls.id = 'SlideshowSpeedControls'+this.instance;
      $(slideshowSpeedControls).addClassName('SlideshowSpeedControls');
      $(slideshowSpeedControls).update('Speed: ');
      tableCell.appendChild(slideshowSpeedControls);
      link = window.document.createElement('a');
      link.id = 'SlideshowSpeed1';
      link.href = 'javascript:photoGalleries['+this.instance+'].slideshowSpeedChange(1)';
      $(link).addClassName('SlideshowSpeedControl');
      $(link).update('Slow');
      slideshowSpeedControls.appendChild(link);
      link = window.document.createElement('a');
      link.id = 'SlideshowSpeed2';
      link.href = 'javascript:photoGalleries['+this.instance+'].slideshowSpeedChange(5)';
      $(link).addClassName('SlideshowSpeedControl');
      $(link).addClassName('Selected');
      $(link).update('Medium');    
      slideshowSpeedControls.appendChild(link);
      link = window.document.createElement('a');
      link.id = 'SlideshowSpeed3';
      link.href = 'javascript:photoGalleries['+this.instance+'].slideshowSpeedChange(10)';
      $(link).addClassName('SlideshowSpeedControl');
      $(link).update('Fast');
      slideshowSpeedControls.appendChild(link);
      tableRow.appendChild(tableCell);
      tableCell = window.document.createElement('td');
      tableCell.setAttribute('align', 'right');
      $(tableCell).addClassName('SlideshowControlCell');
      link = window.document.createElement('a');
      link.href = 'javascript:photoGalleries['+this.instance+'].slideshowAdvance(1, true)';
      $(link).addClassName('SlideshowControl');
      $(link).update('Next &gt;');
      tableCell.appendChild(link);
      tableRow.appendChild(tableCell);

      tableBody.appendChild(tableRow);
      slideshowControlsTable.appendChild(tableBody);

    }
    
    // Place Statistics
    if (this.showStatistics) {
      var photoStatistics = window.document.createElement('div');
      photoStatistics.id = 'PhotoStatistics'+this.instance;
      $(photoStatistics).addClassName('PhotoStatistics');
      $(photoStatistics).update('Photo <span id="PhotoCount'+this.instance+'">0</span> of '+this.photoCount+' from <a href="'+this.link+'">'+this.title+'</a>');
      photoGalleryHolder.appendChild(photoStatistics);
    }

    this.preloadPhotos();
    if (startingPhotoId == null) startingPhotoId = this.firstPhotoId();
    this.photoSwitch(startingPhotoId);
    if (this.autoStartSlideshow) this.slideshowStart();
    
  }
    
  this.preloadPhotos = function () {
    var i = 0;
    var image;
    for (photoId in this.photos) {
      this.photos[photoId].preloadedImage = window.document.createElement('img');
      this.photos[photoId].preloadedImage.src = this.photos[photoId].largePath();
      $(this.photos[photoId].preloadedImage).setStyle({'position':'absolute','top':-2000,'left':-2000});
      $('PhotoGallery'+this.instance).appendChild(this.photos[photoId].preloadedImage);
    }
  }
  
  this.firstPhotoId = function () {
    if (this._firstPhotoId != 0) return this._firstPhotoId;
    for (var photoId in this.photos) {
      this._firstPhotoId = photoId;
      return photoId;
    }
  }
  
  this.lastPhotoId = function () {
    if (this._firstPhotoId != 0) return this._lastPhotoId;
    var currentPhotoId;
    for (var photoId in this.photos) {
      currentPhotoId = photoId;
    }
    this._lastPhotoId = currentPhotoId;
    return currentPhotoId;
  }
  
  this.photoSwitch = function (photoId) {
    this.currentIndex++;
    var even = this.currentIndex % 2 == 0;
    var photo = this.photos[photoId];
    var photoLink = $('PhotoLink'+(even ? 'Even' : 'Odd')+this.instance);
    var photoImage = $('PhotoImage'+(even ? 'Even' : 'Odd')+this.instance);
    var photoTitle = $('PhotoTitle'+(even ? 'Even' : 'Odd')+this.instance);
    var photoDescription = $('PhotoDescription'+(even ? 'Even' : 'Odd')+this.instance);
    var photoCount = $('PhotoCount'+this.instance);
    if (photo.original) {
      photoLink.href = photo.originalPath();
      photoLink.title = 'View fill-sized original image';
    }
    else {
      photoLink.href = '#';
      photoLink.title = 'Larger image unavailable';
    }
    photoImage.src = photo.largePath();
    $(photoImage).setStyle({'height':'auto','width':'auto'});
    if (photoTitle) photoTitle.update(photo.title);
    if (photoDescription) photoDescription.update(photo.description);
    this.currentPhotoId = photoId;
    if ($('PhotoChooser'+this.instance)) {
      for (p in this.photos) {
        if (this.photos[p].id == this.currentPhotoId) {
          $('PhotoChooserThumbnailLink'+this.instance+'_'+this.photos[p].id).setOpacity(1);
          $('PhotoChooserThumbnailLink'+this.instance+'_'+this.photos[p].id).addClassName('Selected');
        }
        else {
          $('PhotoChooserThumbnailLink'+this.instance+'_'+this.photos[p].id).setOpacity(.5);
          $('PhotoChooserThumbnailLink'+this.instance+'_'+this.photos[p].id).removeClassName('Selected');
        }
      }
    }
    new Effect.Fade('PhotoHolder'+(even ? 'Odd' : 'Even')+this.instance, {'queue':'front', duration:.8})
    new Effect.Appear('PhotoHolder'+(even ? 'Even' : 'Odd')+this.instance, {'queue':'end', duration:.8});

    window.setTimeout('photoGalleries['+this.instance+'].resizePhoto('+photoId+')', 850);
    window.setTimeout('photoGalleries['+this.instance+'].resizePhoto('+photoId+')', 3500);
    
    if (photoCount) photoCount.update(photo.rank);
  }
  
  this.resizePhoto = function (photoId) {

    var even = this.currentIndex % 2 == 0;

    // Resize the photo
    var photoGallery = $('PhotoGallery'+this.instance);
    if (photoGallery == null) return;
    var photoImage = $('PhotoImage'+(even ? 'Even' : 'Odd')+this.instance);
    if (photoImage == null) return;
    var preloadedImage = $(this.photos[photoId].preloadedImage);
    var imageDimensions; 
    if (preloadedImage)
      imageDimensions = preloadedImage.getDimensions();
    else
      imageDimensions = photoImage.getDimensions();
    var imageHeight = imageDimensions['height'];
    var imageWidth = imageDimensions['width'];
    var photoGalleryWidth = photoGallery.getWidth();
    var maxWidth = photoGalleryWidth - 40;
    if (imageWidth > maxWidth) {
      var widthProportion = imageWidth / maxWidth;
      if (widthProportion > 1) {
        var adjustment = 1 / widthProportion;
        adjustment = Math.floor(adjustment*100)/100-.005;
        $(photoImage).setStyle({'height':Math.round(imageHeight * adjustment),'width':+Math.round(imageWidth * adjustment)});
      }
    }

    // Resize the holder
    var photoHolder = $('PhotoHolder'+(even ? 'Even' : 'Odd')+this.instance);
    if (photoHolder == null) return;
    var photoPlaceholder = $('PhotoPlaceholder'+this.instance);
    if (photoPlaceholder == null) return;
    var photoHolderDimensions = photoHolder.getDimensions();
    var photoHolderHeight = photoHolder.getHeight();
    var photoPlaceholderHeight = photoPlaceholder.getHeight();
    if (photoPlaceholderHeight < photoHolderHeight || photoPlaceholderHeight > photoHolderHeight + 60) {
      new Effect.Morph(photoPlaceholder, {'style':'height:'+(photoHolderHeight+20)+'px'});
      //$(photoPlaceholder).setStyle({'height':(photoHolderHeight+20)+'px'});
    }
  }
  
  this.chooserButtonDown = function (direction) {
    window.clearInterval(this.chooserButtonTimer);
    this.chooserButtonDirection = direction;
    this.chooserAdvance(direction);
    this.chooserButtonTimer = window.setInterval('photoGalleries['+this.instance+'].chooserAdvance('+direction+')', 350);
  }
  
  this.chooserButtonUp = function () {
    window.clearInterval(this.chooserButtonTimer);
  }
  
  this.chooserAdvance = function (direction) {
    var duration = 3;
    var windowLeft = $('PhotoChooserWindow'+this.instance).positionedOffset()['left'];
    var windowWidth = $('PhotoChooserWindow'+this.instance).getWidth();
    var windowRight = windowLeft+windowWidth;
    var thumbnailsLeft = $('PhotoChooserThumbnails'+this.instance).positionedOffset()['left'];
    var thumbnailsWidth = $('PhotoChooserThumbnails'+this.instance).getWidth();
    var thumbnailsRight = thumbnailsLeft+thumbnailsWidth;
    var moveAmount = ((windowWidth - 50) * -direction);
    if (direction < 0 && (thumbnailsLeft + moveAmount >= windowLeft)) moveAmount = windowLeft - thumbnailsLeft;
    if (direction > 0 && (thumbnailsRight + moveAmount <= windowRight)) moveAmount = windowRight - thumbnailsRight;;
    if (moveAmount != 0)
      new Effect.Move(
        'PhotoChooserThumbnails'+this.instance, 
        {'x':moveAmount,'mode':'relative','duration':duration,'transition':Effect.Transitions.exponential});
  }
  
  this.chooserThumbnailOver = function (photoId) {
    if (this.currentPhotoId != photoId)
      new Effect.Opacity(
        'PhotoChooserThumbnailLink'+this.instance+'_'+photoId, 
        {'duration':.5,'from':.5,'to':1});
  }
  
  this.chooserThumbnailOut = function (photoId) {
    if (this.currentPhotoId != photoId)
      new Effect.Opacity(
        'PhotoChooserThumbnailLink'+this.instance+'_'+photoId, 
        {'duration':.5,'from':1,'to':.5});  
  }
  
  this.slideshowStart = function () {
    var fastest = 2000;
    var slowest = 6000;
    var timing = fastest + ((slowest - fastest) / 9) * (10 - this.slideshowSpeed);
    window.clearInterval(this.slideshowTimer);
    this.slideshowTimer = window.setInterval('photoGalleries['+this.instance+'].slideshowAdvance(1)', timing);
    this.slideshowStarted = true;
    var toggleLink = $('SlideshowToggleLink'+this.instance);
    if (toggleLink) toggleLink.update('Stop Slideshow');
  }
  
  this.slideshowStop = function () {
    window.clearInterval(this.slideshowTimer);
    this.slideshowStarted = false;
    $('SlideshowToggleLink'+this.instance).update('Start Slideshow');
  }
  
  this.slideshowToggle = function () {
    if (this.slideshowStarted)
      this.slideshowStop();
    else
      this.slideshowStart();
  }
  
  this.slideshowAdvance = function (direction, restartSlideshow) {
    var newPhotoId;
    if (arguments.length < 2) restartSlideshow = false;
    if (direction > 0) {
      newPhotoId = this.photos[this.currentPhotoId].nextPhotoId;
      if (newPhotoId == 0) newPhotoId = this.firstPhotoId();
    }
    else {
      newPhotoId = this.photos[this.currentPhotoId].previousPhotoId;
      if (newPhotoId == 0) newPhotoId = this.lastPhotoId();
    }
    this.photoSwitch(newPhotoId);
    if (this.slideshowStarted && restartSlideshow) this.slideshowStart();
  }
  
  this.slideshowSpeedChange = function (speed) {
    this.slideshowSpeed = speed;
    if (this.slideshowStarted) this.slideshowStart();
    switch (speed) {
      case 1:
        $('SlideshowSpeed1').addClassName('Selected');
        $('SlideshowSpeed2').removeClassName('Selected');
        $('SlideshowSpeed3').removeClassName('Selected');    
        break;
      case 5:
        $('SlideshowSpeed1').removeClassName('Selected');
        $('SlideshowSpeed2').addClassName('Selected');
        $('SlideshowSpeed3').removeClassName('Selected');    
        break;
      case 10:
        $('SlideshowSpeed1').removeClassName('Selected');
        $('SlideshowSpeed2').removeClassName('Selected');
        $('SlideshowSpeed3').addClassName('Selected');    
        break;
    }
  }
 
}

function photo(id, title, description, extension, thumbnail, large, original, previousPhotoId, nextPhotoId, rank, galleryPath) {

  this.id=id;
  this.title=title;
  this.description=description;
  this.extension=extension;
  this.thumbnail=thumbnail;
  this.large=large;
  this.original=original;
  this.preloadedImage;
  this.previousPhotoId=previousPhotoId;
  this.nextPhotoId=nextPhotoId;
  this.rank=rank;
  this.galleryPath=galleryPath;
  this.thumbnailPath = function() {
    if (!this.thumbnail) return sNoThumbnailPath;
    return this.galleryPath+'/'+this.id+'-thumbnail'+this.extension;
  }
  this.largePath = function() {
    if (!this.large) return sNoImagePath;
    return this.galleryPath+'/'+this.id+'-large'+this.extension;
  }
  this.originalPath = function() {
    if (!this.original) return '';
    return this.galleryPath+'/'+this.id+'-original'+this.extension;
  }

}

Effect.Transitions.exponential = function(pos) {
  return 1-Math.pow(1-pos,4);
}

var preloadedImages = new Object();
function preloadImages() {
  var i = 0;
  if (preloadedImages.length != null) i = preloadedImages.length;
  for (var a=0; a<arguments.length; a++) {
    preloadedImages[i] = new Image();
    preloadedImages[i].src = arguments[a];
    i++;
  }
}

function resizeImage(image, maxWidth, maxHeight) {
  var temp = new Image();
  temp = $(temp);
  temp.setStyle({position:'absolute',top:-5000});
  temp.src = $(image).src;
  document.body.appendChild(temp);
  var imageDimensions = $(temp).getDimensions();
  var imageHeight = imageDimensions['height'];
  var imageWidth = imageDimensions['width'];
  if (imageHeight <= maxHeight && imageWidth <= maxWidth) return;
  var heightProportion = imageHeight / maxHeight;
  var widthProportion = imageWidth / maxWidth;
  var adjustment = 0;
  if (heightProportion > 1 || widthProportion > 1) {
    if (heightProportion > widthProportion)
      adjustment = 1 / heightProportion;
    else
      adjustment = 1 / widthProportion;
    adjustment = Math.floor(adjustment*100)/100-.005;
    //new Effect.Morph(image, {'duration':.2,'style':'height:'+Math.round(imageHeight * adjustment)+';width:'+Math.round(imageWidth * adjustment)});
    $(image).setStyle({'height':Math.round(imageHeight * adjustment),'width':+Math.round(imageWidth * adjustment)});
  }
}