/*
  jquery.photoroll.js
*/
$.fn.photoroll = function(){

	var val_window = function(val, min, max){
    return Math.min(Math.max(val, min), max);
	}
	var strip_px = function(str){
    return str.replace('px', '')-0;
  }

	return this.each(function(){
	  var $photo_roll$ = $(this);
	  var $roll_window$ = $photo_roll$.children('#roll_window');
	  var $roll_list$ = $roll_window$.children('#roll_list');
	  var $roll_prev$ = $photo_roll$.children('#roll_prev');
	  var $roll_next$ = $photo_roll$.children('#roll_next');

//alert("photoroll");
//alert($photo_roll$.html());
	  
	  $roll_prev$.hide(); //default hide button
	  var list_w = 0;
	  $roll_list$.children().each(function(){
//alert($(this).width())
///	    list_w += $(this).width();
	    list_w += 89;

	  });
//	  list_w +=1;

///    var left_max = $roll_prev$.width();
    var left_max = 0;
    var left_min = 980  - list_w;
///    var left_min = 980 - $roll_next$.width() - list_w;
///    var delta = $roll_list$.children(0).width();
    var delta = 89;


//console.log("left-max:"+left_max+"  left_min:"+left_min+"  delta:"+delta+"  list_w:"+list_w);
    if(list_w <= 980){ // スクロールが必要ない枚数なら
	  $roll_prev$.hide();
	  $roll_next$.hide();
      $roll_window$.css({"left":0});
	}
    else{
///	  $roll_window$.width(list_w).css({'left':$roll_prev$.width()+2}); // prev's border*2 + photo border - negative_margin
	  $roll_window$.width(list_w);
	}

    var click_prev = function(){
      $roll_next$.fadeIn();
      var to = strip_px($roll_window$.css('left')) + delta*3;
///      if(to <= left_min){ //hide button
      if(to>=0){ //hide button
        $roll_prev$.fadeOut();
      }
      to = val_window(to, left_min, left_max);
      $roll_window$.animate(
        {left:to+'px'},
        {duration:500}
      );
    }
    var click_next = function(){
      $roll_prev$.fadeIn();
      var to = strip_px($roll_window$.css('left')) - delta*3;

      if(list_w - 980 <= -to){ //hide button
        $roll_next$.fadeOut();
      }
      to = val_window(to, left_min, left_max);
      $roll_window$.animate(
        {left:to+'px'},
        {duration:500}
      );
    }

    $roll_prev$.click(function(){click_prev(); return false;});
    $roll_next$.click(function(){click_next(); return false;});
    $(document).bind('keydown', 'Ctrl+left', function(){click_prev();});
    $(document).bind('keydown', 'Ctrl+right', function(){click_next();});
	});
};


