(function($) {
	
	//DOMオブジェクトのロードが完了されたら実行
	$(document).ready(function(){	
	
		pickupItems.init("#pickup_items");
		//pickupItems.movId = setInterval(function(){pickupItems.doScroll("left");},2000);
		
	});	
	
	
	//ピックアップアイテム
	var pickupItems = {
		
		init: function(id) {
				
				//scrollingフラグ
				this.scrolling = false;
				
				//自ノード取得
				this.node = $(id)
				
				//itemの幅を取得
				var items = this.node.children("li.item").each(function(){
					
					var product_url = $(this).find("a.product_link").attr('href');
					
					if(product_url != "") {
						$(this).css({cursor : "pointer"}).click(function(){document.location = product_url;});
					}
				});
				this.itemWidth = $(items.get(0)).width();
				this.itemLength = items.length+2;
				this.node.width(this.itemWidth*this.itemLength);
				
				//移動単位を設定
				this.distance = this.itemWidth*2;
				
				//端位置を設定
				this.maxLeft = 0;
				this.maxRight =  -(this.node.width())+this.distance;
				
				//前にitemを追加
				this.node.prepend($(items[items.length-1]).clone());
				this.node.prepend($(items[items.length-2]).clone());
				this.node.css({left: -(this.itemWidth) * 2});
				
				//arrow追加
				this.node.parent().after('<p id="pickup_arrow_left">　</p><p id="pickup_arrow_right">　</p>');
				this.leftArrow = $("#pickup_arrow_left").click(function(){pickupItems.doScroll()});
				this.rightArrow = $("#pickup_arrow_right").click(function(){pickupItems.doScroll("left")});
				//this.leftArrow = $("#pickup_arrow_left").css({opacity: 0}).animate({opacity: .9},1000).click(function(){pickupItems.doScroll()});
				//this.rightArrow = $("#pickup_arrow_right").css({opacity: 0}).animate({opacity: .9},1000).click(function(){pickupItems.doScroll("left")});
				/*$("#pickup_arrow_left,#pickup_arrow_right").hover(
					function () {
						$(this).css({opacity: 1});
					},
					function () {
						$(this).css({opacity: .9});
					}
				);*/
				
		},
		
		//スクロール処理
		doScroll: function(lr) {

			//スクロール中ではなければスクロール処理開始
			if(!this.scrolling) {
				
				//スクロール位置取得
				var offset = parseInt(this.node.css("left"));
				
				//現在地が端である場合の処理
				if(offset >= this.maxLeft && lr != "left") {
					this.node.css({left: this.maxRight});
					offset = this.maxRight;
				} else if(offset <= this.maxRight && lr == "left") {
					this.node.css({left: this.maxLeft});
					offset = this.maxLeft;
				}
				
				offset += (lr == "left")? -this.distance : this.distance;
				
				var _this = this;
				
				//スクロールアニメーション
				this.scrolling = true;
				this.node.animate({left: offset}, 1000, function(){
					
					/*var _offset = parseInt($(this).css("left"));
					if(_offset >= _this.maxLeft) {
						$(this).css({left: _this.maxRight});
					} else if(_offset <= _this.maxRight) {
						$(this).css({left: _this.maxLeft});
					}*/

					pickupItems.scrolling = false;
					
				});

			}
		}
	}

})(jQuery);

