/*
 * jrcSlides 
 * @author jrclements@gmail.com
 * creates a slideshow element of arbitrary width that continuously wraps 
 * around to the beginning 
 */

(function($) {
  $.fn.jrcSlides = function(options) {
  
    var defaultOptions = {
      transition : 'slide'
    }

    options = $.extend(defaultOptions, options);

    return this.each(function() {
      var $this = $(this);
      
      $this.prepend($this.children(":last-child").clone().css("margin-left","-"+$this.children(".slide").width() +"px"));
  		$this.append($this.children(":nth-child(2)").clone());
  		$this.css('width',($this.children().length-1)*$this.children().width());
  		
  		var $prev = $this.parent().children(".view").children(".slideleft");
      $prev.click(function() {
        var left = parseInt($this.css("right"))-$this.children(".slide").width();
        if (parseInt($this.css("right")) >= $this.children(".slide").width()) {
          $this.animate({ "right" : left });
        } else {
          $this.animate({ "right" : left } ,500,"linear",function() { $this.css("right",$this.width()-(2*$this.children(".slide").width())); });
        }
      }); //end prev click
      
      var $next = $this.parent().children(".view").children(".slideright");
      $next.click(function() {
        var right = parseInt($this.css("right"))+$this.children(".slide").width();
        if (parseInt($this.css("right")) < $this.width()-(2*$this.children(".slide").width())) {
          $this.animate({ "right" : right });
        } else {
          $this.animate({ "right" : right } ,500,"linear",function() { $this.css("right",0); });
        }
      }); //end next click
      
    });
  
  } //end jrcSlides
})(jQuery);