/*
	Slide
*/
var slide = {



	/*
		Setting
	*/
	frame_path: '',
	item_path: '',
	image_path: '',
	nav_path: '',
	navitem_path: '',
	interval: 0,

	/*
		Properties
	*/
	timer: '',
	length: 0,
	width: 0,
	current: 0,



	/*
		Start
	*/
	start: function(frame_path, item_path, image_path, nav_path, navitem_path, interval) {

		//  Arguments
		slide.frame_path = frame_path;
		slide.item_path = item_path;
		slide.image_path = image_path;
		slide.nav_path = nav_path;
		slide.navitem_path = navitem_path;
		slide.interval = interval;
		slide.length = $(slide.item_path).length;
		slide.width = $(slide.image_path).outerWidth();

		//  Set width
		$(slide.frame_path).css('width', slide.width * slide.length);
		$(slide.item_path).css({
			float: 'left',
			width: slide.width + 'px'
		});

		//  Set navigation
		var nav_width = $(slide.navitem_path).outerWidth() * $(slide.navitem_path).length;
		$(slide.nav_path).css('width', nav_width);
		$(slide.navitem_path + ' a').click(function() {
			slide.move(parseInt(this.className.replace(/Slide-/, '')));
		});

		//  Move start
		slide.move(0);

	},



	/*
		Move
	*/
	move: function(number) {

		//  Stop
		clearTimeout(slide.timer);

		//  Target
		if ('next' == number) { number = slide.current+1;}
		if (slide.length <= number) { number = 0;}
		slide.current = number;

		//  Move
		$(slide.frame_path).animate(
			{marginLeft: '-' + (slide.width*number) + 'px'},
			700,'swing',
			slide.setcurrent
		);

		//  Next
		slide.timer = setTimeout(function() { slide.move('next');}, slide.interval);

	},



	/*
		Set current
	*/
	setcurrent: function() {
		$(slide.navitem_path).removeClass('Current');
		$(slide.navitem_path + '.Slide-' + slide.current).addClass('Current');
	}



}



/*
	Slide nav
*/
var slidenav = {



	parent_path: '',
	nav_path: '',
	parent_width: 0,
	nav_width: 0,



	start: function(parent_path, nav_path) {

		//  Arguments
		slidenav.parent_path = parent_path;
		slidenav.nav_path = nav_path;
		slidenav.parent_width = $(slidenav.parent_path).outerWidth();
		slidenav.nav_width = $(slidenav.nav_path).outerWidth();

		//  Create
		var rewind = $("<p/>");
		var forward = $("<p/>");
		rewind.addClass('Rewind');
		forward.addClass('Forward');

		//  Check
		if ((slidenav.parent_width + 30) >= slidenav.nav_width) { return;}

		//  Set
		rewind.append('<a href="#">Rewind</a>').hover(
			function() {
				var target = 0 - (slidenav.nav_width - slidenav.parent_width - 16);
				$(slidenav.nav_path).animate(
					{marginLeft: target + 'px'},
					'slow',
					'linear'
				);
			},
			function() {
				$(slidenav.nav_path).stop();
			}
		);
		forward.append('<a href="#">Forward</a>').hover(
			function() {
				$(slidenav.nav_path).animate(
					{marginLeft: '0px'},
					'slow',
					'linear'
				);
			},
			function() {
				$(slidenav.nav_path).stop();
			}
		);

		//  Append
		$(slidenav.parent_path).after(forward);
		$(slidenav.parent_path).after(rewind);

	}

}



/*
	Start
*/
slide.start(
	'div.Slide div.Images ul',
	'div.Slide div.Images ul li',
	'div.Slide div.Images ul li a img',
	'div.SlideNav div.Select ul',
	'div.SlideNav div.Select ul li',
	7000
);
slidenav.start(
	'div.SlideNav div.Select',
	'div.SlideNav div.Select ul'
);

