/**
 * @author Tom Cao, stone village studio
 */
var speed = 5;
var xPos = -980;
var divPos;
var xReset = 7840;
var i = 0;
var seldot = new Array;
document.observe("dom:loaded", function() {
	seldot = $A($$('.pgdot'));
	seldot[i].toggleClassName('sel');
	imgslide(speed);
	playcontral();
	eventact();

})
function imgslide(speed) {
	mv = new PeriodicalExecuter(function() {
		divPos = parseInt($('slider').getStyle('left'));

		if(divPos > -7840) {
			new Effect.Move('slider', {
				x : xPos,
				y : 0,
				mode : 'relative'
			});
			i++;
			mvdot(i);

		}

		if(divPos == -7840) {
			new Effect.Move('slider', {
				x : xReset,
				y : 0,
				mode : 'relative'
			});
			i = 0;
			mvdot(i);
			divPos = 0;
		}
	}, speed)
};

function mvdot(i) {
	$$('.pgdot').invoke('setStyle', 'background-position : -31px -26px');
	seldot[i].setStyle({
		backgroundPosition : '-31px -2px'
	});
}

function playcontral() {
	//$('slider').observe('mouseover', stopplay);
	//$('slider').observe('mouseout', replay);
	//$('slider').observe('click', mouseClick);
	$('leftarrow').observe('mouseover', stopplay);
	$('rightarrow').observe('mouseover', stopplay);
	$('leftarrow').observe('mouseout', replay);
	$('rightarrow').observe('mouseout', replay);
	$('leftarrow').observe('click', moveLeft);
	$('rightarrow').observe('click', moveRight);
}

function stopplay() {
	mv.stop();

}

function replay() {
	imgslide(speed);
}

function mouseClick() {

}

function eventact() {
	$$('.pgdot').invoke('observe', 'mouseover', mOver).invoke('observe', 'mouseout', mOut).invoke('observe', 'click', mClick);
}

function mOver(event) {
	var element = event.element();
	element.setStyle({
		backgroundPosition : '-31px -2px'
	});
}

function mOut(event) {
	var element = event.element();
	element.setStyle({
		backgroundPosition : '-31px -26px'
	});
}

function mClick(event) {
	var element = event.element();
	$$('.pgdot').invoke('setStyle', 'background-position : -31px -26px');
	element.setStyle({
		backgroundPosition : '-31px -2px',
		cursor : 'default'
	});
	eventact();
	element.stopObserving();
	var slideimg = element.title;
	mv.stop();
	if(slideimg == 1) {
		new Effect.Move('slider', {
			x : 0,
			y : 0,
			mode : 'absolute'
		});
		i = 0;
		imgslide(speed);
	}
	if(slideimg == 2) {
		new Effect.Move('slider', {
			x : -980,
			y : 0,
			mode : 'absolute'
		});
		i = 1;
		imgslide(speed);
	}
	if(slideimg == 3) {
		new Effect.Move('slider', {
			x : -1960,
			y : 0,
			mode : 'absolute'
		});
		i = 2;
		imgslide(speed);
	}
	if(slideimg == 4) {
		new Effect.Move('slider', {
			x : -2940,
			y : 0,
			mode : 'absolute'
		});
		i = 3;
		imgslide(speed);
	}
	if(slideimg == 5) {
		new Effect.Move('slider', {
			x : -3920,
			y : 0,
			mode : 'absolute'
		});
		i = 4;
		imgslide(speed);
	}
	if(slideimg == 6) {
		new Effect.Move('slider', {
			x : -4900,
			y : 0,
			mode : 'absolute'
		});
		i = 5;
		imgslide(speed);
	}
	if(slideimg == 7) {
		new Effect.Move('slider', {
			x : -5880,
			y : 0,
			mode : 'absolute'
		});
		i = 6;
		imgslide(speed);
	}
	if(slideimg == 8) {
		new Effect.Move('slider', {
			x : -6860,
			y : 0,
			mode : 'absolute'
		});
		i = 7;
		imgslide(speed);
	}
	if(slideimg == 9) {
		new Effect.Move('slider', {
			x : -7840,
			y : 0,
			mode : 'absolute'
		});
		i = 8;
		imgslide(speed);
	}
}

function moveLeft() {
	mv.stop();
	divPos = parseInt($('slider').getStyle('left'));
	if(divPos < 0) {
		new Effect.Move('slider', {
			x : 980,
			y : 0,
			mode : 'relative'
		});
		i--;
		mvdot(i);
	}
}

function moveRight() {
	mv.stop();
	divPos = parseInt($('slider').getStyle('left'));
	if(divPos > -7840) {
		new Effect.Move('slider', {
			x : -980,
			y : 0,
			mode : 'relative'
		});
		i++;
		mvdot(i);
	}

}
