// JavaScript Document
/* jQuery Plug-in created by Steady Vision*/
(function($) {
	
	$.fn.slipSlide = function (time, settings) {
		time = time || 5000;
		settings = $.extend({
			container: "<ul></ul>",
            childContainer: "li.slideframe",
			currentClass: "selected",
            controlContainer: "<ol />",
            controlContainerClass: ['seriesLinks', 'buttons'],
            fadeTime: 900
		}, settings);
		var p, timeout, full_count, cur, control, playpause;
		function getFullCount(el) {
			full_count = $(el).children(settings.childContainer).length;
		}
		
		function makeControls() {
        	var c = $(settings.controlContainer);
					c.children('li').remove();
            $.each(settings.controlContainerClass, function(a,b){
            	c.addClass(b);
            });

			for (x=1;x<=full_count;x++)
            {
				var ic = $('<li></li>');
                var ica = $('<a />');
                var n = $('<span />');
                n.addClass('num');
                ica.attr('href', '#');
                n.text(x);
                ica.append(n);
                ic.append(ica);
                c.append(ic);
            }
            $('a', c).click(function(){
            	showSlide($('a', c).index($(this)));
            	$('a', c).removeClass(settings.currentClass);
                $(this).addClass(settings.currentClass);
                return false;
            });
            control = c;
            return c;
        }
		
        function showSlide(num) {
			clearTimeout(timeout);
			$('a', control).removeClass(settings.currentClass);
            $('a', control).eq(num).addClass(settings.currentClass);
            if (num == cur) return;
            cur = num;
            $(settings.childContainer, p).fadeOut(settings.fadeTime);
            $(settings.childContainer, p).eq(num).fadeIn(settings.fadeTime);
			timeout = setTimeout(function(){ startSlide(p); }, time);
        }
        
        function startSlide(me) {
        	clearTimeout(timeout);
            $('a', control).removeClass(settings.currentClass);
            $(settings.childContainer, me).fadeOut(settings.fadeTime);
            if (cur < (full_count - 1)) {
            	cur = cur+1;
            } else {
            	cur = 0;
            }
            $('a', control).eq(cur).addClass(settings.currentClass);
            $(settings.childContainer, me).eq(cur).fadeIn(settings.fadeTime);
            timeout = setTimeout(function(){ startSlide(me); }, time);
            
        }
        
		return this.each(function () {
			var container = $(this);
			
            p = container;
			getFullCount(container);
			cur = 0;
			
			/* */
            $('#projContainer').append(makeControls());
			$('#control-prev').click(function(){
				var to = parseInt($('a.selected', '#projContainer').children('.num').text())-2;
				if (to < 0)
					to = full_count - 1;
				
				showSlide(to);
				return false;
			});
			$('#control-next').click(function(){
				var to = parseInt($('a.selected', '#projContainer').children('.num').text());
				
				if (to > (full_count - 1))
					to = 0;
				showSlide(to);
				return false;
			});
			/* */
			
            $('a', control).eq(cur).addClass(settings.currentClass);
            $(settings.childContainer, container).hide();
      		$(settings.childContainer, container).eq(cur).show();
            timout = setTimeout(function () {startSlide(container); }, time);
		});
	};

})(jQuery);

