var slides_loaded = 0;
var slides_count = 0;
var current_slide = -1;
var slides = [];
var slideshowDelay = 8000;
var timer1;
var timer2;

jQuery(document).ready(function() {
	// init slider
    if(jQuery('div.home div.slideshow ul.slides').get(0) != 'undefined') {
        slides_count = jQuery('div.home div.slideshow ul.slides li').length;
        jQuery("div.home div.slideshow ul.slides").hover(
            function () {
                clearTimeout(timer1);
                clearTimeout(timer2);
            }, 
            function () {
                timer2 = setTimeout( "runSlideshow(); ", slideshowDelay );
            }
        );
    }

    jQuery('div.home div.slideshow ul.buttons a').bind('click', doNothing);

    initSlideshow();
});

function initSlideshow() {
    jQuery('div.home div.slideshow ul.buttons a').unbind('click', doNothing);
    jQuery('div.home div.slideshow ul.buttons a').each(function(i, link) {
		link.index = i;
	});

	jQuery('div.home div.slideshow ul.buttons a').click(function() {
	    toggleSlideshow(this.index);
	    return false;
	});

	jQuery('div.home div.slideshow ul.slides').addClass('loaded');
	jQuery('div.home div.slideshow ul.slides li').each(function(i, li) {
		slides.push(li);
		jQuery(li).css('display', 'block');
		jQuery(li).css('opacity', 0);
	});
	
	toggleSlideshow(-1);
	runSlideshow();
}

function runSlideshow() {
	toggleSlideshow(current_slide+1);
	timer1 = setTimeout("runSlideshow(); ", slideshowDelay);
}

function toggleSlideshow(num) {
	if(num !== current_slide) {
	    if (num > (slides_count - 1)) { num = 0; }
		if(current_slide >= 0) {
			// hide previous slide
			jQuery(slides[current_slide]).css({
				'visibility':'visible',
				'opacity': 1
			});
			jQuery(slides[current_slide]).animate({'opacity': 0}, 250, 'linear', function() {
				jQuery(this).css('display', 'none');
			});
			
			// remove button active
			jQuery('div.home div.slideshow ul.buttons li').removeClass('active');
		}
		current_slide = num;
		jQuery(slides[current_slide]).css({
			'visibility':'visible',
			'opacity': 0,
			'display': 'block'
		});
		jQuery(slides[current_slide]).animate({'opacity': 1}, 250, 'linear');
	
		// set button active
		var btn = jQuery('div.home div.slideshow ul.buttons li').get(current_slide);
		jQuery(btn).addClass('active');
	}
}

function doNothing(e) {
	return false;
}

