function Carousel(jqObj, isRand) {
	noSlides = jqObj.length
	firstImg = (isRand)? Math.floor(Math.random()*noSlides) : 0;

	this.jqObj = jqObj;
	this.noSlides = noSlides;
	this.isRand = isRand;
	this.start = firstImg;

	this.curImg = firstImg;
	this.timer = 0;

	this.init = function() {
		jqObj.each(function(i) {
			if( i == firstImg ) { jQuery(this).fadeIn(1000); }
			else { jQuery(this).hide('fast'); }
		});

		var carouselNav = jQuery('<div></div>');
		carouselNav.addClass('carouselNav');

		//show nav if there is more than 1 panel
		if (this.noSlides > 1) {
			var navLeft = jQuery('<a class="navLeft">&lt;</a>');
			var navRight = jQuery('<a class="navRight">&gt;</a>');

			carouselNav.append(jQuery('<a class="navLeft">&lt;</a>'));
			carouselNav.append(jQuery('<a class="navRight">&gt;</a>'));

		} else {
			carouselNav.html('&nbsp;');
		}

		jqObj.parent().append(carouselNav);

		return firstImg;
	}

	this.nextImg = function(curImg) {
		nextImg = (curImg+1 > this.noSlides-1)? 0 : curImg+1;
		jqObj.each(function(i) {
			if( i == nextImg ) { nextObj = jQuery(this); }
			else if ( i == curImg ) { prevObj = jQuery(this); }
		});

		prevObj.fadeOut(400);
		nextObj.fadeIn(400);

		//jQuery('#' + jqObj.parent().attr('id') + ' .carouselNav .pg'+curImg).removeClass('active');
		//jQuery('#' + jqObj.parent().attr('id') + ' .carouselNav .pg'+nextImg).addClass('active');

		return nextImg;
	}

	this.prevImg = function(curImg) {
		prevImg = (curImg-1 < 0)? noSlides-1 : curImg-1;
		jqObj.each(function(i) {
			if( i == prevImg ) { nextObj = jQuery(this); }
			else if ( i == curImg ) { prevObj = jQuery(this); }
		});

		prevObj.fadeOut(400);
		nextObj.fadeIn(400);

		//jQuery('#' + jqObj.parent().attr('id') + ' .carouselNav .pg'+curImg).removeClass('active');
		//jQuery('#' + jqObj.parent().attr('id') + ' .carouselNav .pg'+prevImg).addClass('active');

		return prevImg;
	}
}

jQuery(document).ready(function(){
	carousel1 = new Carousel(jQuery('#carousel .slide'), 0);
	curImg = carousel1.init();
	carousel1Timer = (carousel1.noSlides > 1)? setInterval('curImg = carousel1.nextImg(curImg)', 8000) : 0;

	jQuery('#carousel .navLeft').click(function(){
		clearInterval(carousel1Timer);
		curImg = carousel1.prevImg(curImg);
	});

	jQuery('#carousel .navRight').click(function(){
		clearInterval(carousel1Timer);
		curImg = carousel1.nextImg(curImg);
	});

});

