/**
 * @author Ray Perea
 */
var SS = new Object();
SS.play = true;
SS.speed = 12000;
$(document).ready(function() {

	// prev button
	$('.ssprev').bind('click', function(e){
		if (SS.interval) { clearTimeout(SS.interval); }
		SS.interval = false;
		var parent = $(this).parent().parent();
		if ($('.ssimage', parent).is(':animated')) { return; }
		var targ = $('.ssimage', parent).filter(':visible').prev();
		if (!targ.length) { 
			targ = $('.ssimage', parent).siblings().last();	
		}
		var calltoaction = parent.children().first();
		for (var i=1;i<=calltoaction.children().length;i++) {
			calltoaction.removeClass('slide'+i);
		}
		calltoaction.addClass('slide'+(targ.index()+1));
		SS.targ = targ;
		$('.ssimage', parent).filter(':visible').hide('slide', {direction: 'right', mode:'hide'}, 'slow', function() {
			targ.show('slide', {direction:'left', mode:'show'}, 'slow', function(){
				setcount(parent);
				if (SS.play) { 
					SS.interval = setTimeout(function(){next($('.ssnext').first());}, SS.speed);	
				}
			});
		});
	});
	
	// next button
	$('.ssnext').bind('click', function(e){
		next($(this));
	});
	
	// play button
	$('.ssplay').live('click', function(e){
		SS.play = true;
		$(this).removeClass('ssplay').addClass('sspause');
		next($(this));
	});
	
	// pause button
	$('.sspause').live('click', function(e){
		clearTimeout(SS.interval);
		SS.play = false;
		$(this).removeClass('sspause').addClass('ssplay');
		
	});
	
	// Start the show
	$('.ssimage').first().show();
	SS.interval = setTimeout(function(){next($('.ssnext').first());}, SS.speed);
});

function next(obj) {
	if (SS.interval) { clearTimeout(SS.interval); }
	SS.interval = false;
	var parent = obj.parent().parent();
	if ($('.ssimage', parent).is(':animated')) { return; }
	var targ = $('.ssimage', parent).filter(':visible').next();
	if (!targ.length) { 
		targ = $('.ssimage', parent).siblings().first();	
	}
	var calltoaction = parent.children().first();
	for (var i=1;i<=calltoaction.children().length;i++) {
		calltoaction.removeClass('slide'+i);
	}
	calltoaction.addClass('slide'+(targ.index()+1));
	SS.targ = targ;
	$('.ssimage', parent).filter(':visible').hide('slide', {direction: 'left', mode:'hide'}, 'slow', function() {
		SS.targ.show('slide', {direction:'right', mode:'show'}, 'slow', function(){
			setcount(parent);
			if (SS.play) { 
				SS.interval = setTimeout(function(){next($('.ssnext').first());}, SS.speed);	
			}
		});
	});
}

function setcount(obj) {
	var total = $('.ssimage', obj).length;
	var at = $('.ssimage', obj).index($('.ssimage', obj).filter(':visible').first()) + 1;
	$('.sscount', obj).html(at+' of '+total);
}

