$(function(){
	MainVisual.init(MainVisual.ABOUT);
	MainVisual.play();
	$('#mainvisual ul.menu li').each(function(li){
		var id = $(this).index()+1;
		$('a', this).click(function(){
			MainVisual.set(id);
			return false;
		});
	});
});

var MainVisual = {
	_current:5,
	_intervalId:null,
	_zindex:1,
	JUTAKU:1,
	CAR:2,
	REFORM:3,
	KYOIKU:4,
	ABOUT:5,
	TIMER:5000,
	MARGIN:500,
	SPEED:800,
	DO_SLIDE:true,
	_ids:[this.JUTAKU, this.CAR, this.REFORM, this.KYOIKU, this.ABOUT],
	init:function(first){
		if (!first) {
			first = this.JUTAKU;
		}
		for (var i=1; i<=this.ABOUT; i++) {
			var target = this._visualbynumber(i);
			if (i==first) {
				target.css('left',0);
			} else {
				target.css({
					'left':700
				});
			}
			target.css('z-index', this._zindex);
		}
	},
	next:function(page){
		this._zindex++;
		var nextid = null;
		if (page) {
			nextid = page;
		} else {
			nextid = (this._current==MainVisual.ABOUT)?MainVisual.JUTAKU:this._current+1;
		}
		var next = this._visualbynumber(nextid);
		next.css({
			'left': this.DO_SLIDE?this.MARGIN:0,
			'z-index':this._zindex,
			'opacity':0
		});
		next.animate({left:0, opacity:1}, this.SPEED, function(){
			$('#mainvisual ul.menu li').removeClass('active');
			MainVisual._current++;
			if (MainVisual._current>MainVisual.ABOUT) {
				MainVisual._current = MainVisual.JUTAKU;
			}
			MainVisual._menubynumber(nextid).addClass('active');
		});
		if (!this.DO_SLIDE) {
			setTimeout(function(){
				$('#mainvisual ul.menu li').removeClass('active');
				MainVisual._menubynumber(nextid).addClass('active');
			}, this.SPEED*0.6);
		}
	},
	prev:function(){
	},
	set:function(page){
		$('#mainvisual ul.menu li').removeClass('active');
		MainVisual._menubynumber(page).addClass('active');
		clearInterval(this._intervalId);
		this.next(page);
	},
	play:function(){
		this._timerfunc();
	},
	stop:function(){
		clearTimeout(this._intervalId);
	},
	_timerfunc:function(){
		MainVisual._intervalId = setInterval(function(){
			MainVisual.next();
		}, MainVisual.TIMER);
	},
	_visualbynumber:function(i){
		return $('#mainvisual ul.visual li:nth-child('+i+')');
	},
	_menubynumber:function(i){
		return $('#mainvisual ul.menu li:nth-child('+i+')');
	}
};
