(function($) {
// What does the randomImage plugin do?
$.fn.randomImage = function(options) {
  var opts = $.extend({}, $.fn.randomImage.defaults, options);

  return this.each(function() {
    var $this = $(this);
    
    // Support for the Metadata Plugin.
    var o = $.meta ? $.extend({}, opts, $this.data()) : opts;
    
    var totalNum = o.imageNames.length;
    var rndNum = Math.floor(Math.random() * totalNum);
    
    var imageName = o.imageNames[rndNum];
    var imageData = o.imageData[rndNum];
    
    $this.attr('src',o.imagePath+imageName);
    if(imageData === undefined){
	  $this.attr('alt',imageName);
	  $this.attr('title',imageData);
	}else if( o.dataDisplay == 'caption'){
      $this.after("<p class='caption'>"+imageData+"</p>");
	  $this.attr('alt',imageData);
	  $this.attr('title',imageData);
    }else if( o.dataDisplay == 'alt'){
	  $this.attr('alt',imageData);
	  $this.attr('title',imageData);
	}
  });

  // private function for debugging
  function debug($obj) {
    if (window.console && window.console.log) {
      window.console.log($obj);
    }
  }
};

// default options
$.fn.randomImage.defaults = {
  imageNames:[],
  imageData:[],
  imagePath: '',
  dataDisplay:'caption'
};

})(jQuery);