// JavaScript Document
jQuery(function($) {
	
	if($('div#slide_show').length) {
		
		// インターバルタイマー実行
		activeFrame = setInterval(toppageSlide.start, 4000);
		
		// 枠へマウスがhoverした場合
		$('dt#ss_active_slide').hover(
			function () {
				clearInterval(activeFrame);
			},
			function () {
				activeFrame = setInterval(toppageSlide.start, 4000);
			}
		);
		
		$('dt.slideimage a').hover(
			function () {
				clearInterval(activeFrame);
				var index = $('dt.slideimage a').index($(this));
				//alert(index);

				toppageSlide.mouseover($(this), index);
			},
			function () {
				activeFrame = setInterval(toppageSlide.start, 4000);
			}
		);
	}
	if($('div.special_offer_items dl').length) {
		offerSlide.initialize('div.special_offer_items', '#offer-wrap');
		
		$('#nextButton').click(function() {
			offerSlide.next()
		});
		$('#prevButton').click(function() {
			offerSlide.prev()
		});
	}
	
	if($('p#bound_fix_toggle').length) {
		$('p#bound_fix_toggle').toggle(
			function() {
				$('div#terms').css('height','auto');
				$(this).html('表示を縮める');
			},
			function() {
				$('div#terms').removeAttr('style');
				$(this).html('全体を表示する');
			}
		);
	}
	
});

var toppageSlide = {
	
	start : function() {
		if($('dt#ss_active_slide').length) {
			
			var elmPositon = $('dt#ss_active_slide').position(); // 現在スライドの枠の位置を取得
			var slideElements = $('dt.slideimage').length;       // スライド用の要素数の取得
			var thumsHeight = $('div#slide_show dl').height();   // サムネール全体の高さを取得
			    thumsHeight = Math.floor(thumsHeight / slideElements); // 高さを要素数で割り、要素の高さを取得     
			var displayNow = elmPositon.top / thumsHeight;        // 枠の位置から現在表示しているスライド番号を取得
			
			if(displayNow < slideElements - 1) {
				$('dt#ss_active_slide').animate({'top': '+='+thumsHeight+'px'}, 'slow');
				$('div#ss_main_space img').eq(displayNow + 1).fadeIn("slow");
				$('div#ss_main_space img').eq(displayNow).fadeOut("slow");
				$('dt#ss_active_slide a').attr("href",$('div#ss_main_space a').eq(displayNow + 1).attr('href'));
			} else {
				// 最初のスライドに戻る
				$('dt#ss_active_slide').animate({'top': '0px'}, 'fast');
				$('dt#ss_active_slide a').attr("href",$('div#ss_main_space a').eq(0).attr('href'));
				$('div#ss_main_space img').eq(0).fadeIn("slow");
				$('div#ss_main_space img').eq(displayNow).fadeOut("slow");
			}
		}
	},
	
	mouseover : function(_tgt, _index) {
			
		var elmPositon = $('dt#ss_active_slide').position(); // 現在スライドの枠の位置を取得
		var slideElements = $('dt.slideimage').length;       // スライド用の要素数の取得
		var thumsHeight = $('div#slide_show dl').height();   // サムネール全体の高さを取得
			thumsHeight = Math.floor(thumsHeight / slideElements); // 高さを要素数で割り、要素の高さを取得     
		var displayNow = elmPositon.top / thumsHeight;        // 枠の位置から現在表示しているスライド番号を取得
			 thumsHeight = thumsHeight * _index;
		
		
		$('dt#ss_active_slide').animate({'top': thumsHeight + 'px'}, 50);
		$('div#ss_main_space img').eq(_index).fadeIn(50);
		$('div#ss_main_space img').eq(displayNow).fadeOut(50);
		$('dt#ss_active_slide a').attr("href", _tgt.attr('href'));
	}
	
};


//
var offerSlide = {
	
	next : function() {
		if(this.slideNo < this.slideNums) {
			this.slideNo++;
			for(var i = 0; i < this.slideNums; i++) {
				this.tgt.eq(i).animate({'left': '-='+this.slideWids+'px'}, 'slow');
			}
		}
	},
	
	prev : function() {
		if(this.slideNo > 1) {
			this.slideNo--;
			for(var i = 0; i < this.slideNums; i++) {
				this.tgt.eq(i).animate({'left': '+='+this.slideWids+'px'}, 'slow');
			}
		}
	},
	
	config : function(_tgt) {
		this.tgt       = $(_tgt);
		this.slideNo   = 1;
		this.slideNums = this.tgt.length;
		this.slideWids = this.tgt.eq(0).width();
		this.slideHigt = this.tgt.eq(0).height();
	},
	
	initialize : function(_tgt, _wrapper) {
		this.config(_tgt);
		
		$(_wrapper).width(this.slideWids);
		$(_wrapper).height(this.slideHigt);
		if(this.slideNums == 1) $('ul.pagination').remove();
		
		$(_wrapper).parent().css('margin-bottom', this.slideHigt + 30);
		for(var i = 0; i < this.slideNums; i++) {
			this.tgt.eq(i).css({left: this.slideWids * i});
		}
	}
}



