( function( $ ) {
	var _lwrap;
	var _lo;
	var _sp = 171;
	var _len = 0;
	var _now = 0;
	$( function() {
		_lo = $("#bannerBox ul.clearfix");
		_len = _lo.find("li").length;
		
		_lo.wrap(
			$("<div>").css({"position":"relative","width":855, "overflow":"hidden", "margin":"0 auto", "height":72})
		).wrap(
			$("<div>").attr("id", "bannerListMoveObject").css({"position":"absolute", "width":_sp*_len*3, "left":-_sp*(_len-5)})
		).css( {"visibility":"visible", "position":"absolute", "width":_sp*_len, "opacity":0} );
		_lwrap = $("#bannerListMoveObject");
		
		/* バナークローン作成 */
		_lwrap.append( _lo.clone().css("left", -_sp*_len) ).append( _lo.clone().css("left", _sp*_len) );
		
		/* ナビゲーション */
		$("#bannerNavi a").click( naviClick );
		
		$(window).load( function() {
			viewStart();
		} );
	} );
	function viewStart() {
		_lwrap.stop().queue([]).animate( {"left":0}, {"duration":1000} ).find("ul").animate( {"opacity":1}, {"duration":1000} );
	}
	function naviClick() {
		if( $(this).parent().is(".next") ) {
			viewPos( _now+1 );
		} else {
			viewPos( _now-1 );
		}
		return false;
	}
	function viewPos( num ) {
		_now = num;
		_lwrap.stop().queue([]).animate( {"left": (-_sp*_now) }, {"duration":300, "ease":"easeOutCubic", complete:moveEnd} );
	}
	function moveEnd() {
		var flag = true;
		do {
			if( _now < 0 ) {
				_now = _len + _now;
			} else if( _now >= _len ) {
				_now = _now - _len;
			} else {
				flag = false;
			}
		} while( flag );
		
		_lwrap.css( {"left": (-_sp*_now) } );
	}
} )( jQuery );
