$.fn.zinfinitecarousel = function(options){

	var options = $.extend({}, $.fn.zinfinitecarousel.defaults, options);

	return this.each(function(){
		obj = $(this);
		obj.addClass('zinfinitecarousel');
		var intro_carousel_width = 0;
		obj.find('.zinfinitecarousel_content ul li').each(function(){
			intro_carousel_width += $(this).outerWidth()
		})
		obj.find('.zinfinitecarousel_content ul').width(intro_carousel_width)

		obj.find('.zinfinitecarousel_content ul li:first').addClass('active');

		obj.find('.art_nav_arrow_right:not(.disabled)').live('click', function(){
			var obj = $(this).closest('.zinfinitecarousel').find('.zinfinitecarousel_content ul');
			if(!obj.is(':animated')){
				var position_next_item = (obj.find('li.active').next().position().left * -1)
				obj.find('li.active').removeClass('active').next().addClass('active')
				
				obj.width(obj.width() + obj.find('li:first').width())
				obj.find('li:first').clone().appendTo(obj)
				
				obj.animate({left: position_next_item}, 400, function(){
					obj.find('li:first').remove()
					obj.width(obj.width() - obj.find('li:last').width())
					obj.css({left: 0})
					
				})				
			}
			return false;
		})
		obj.find('.art_nav_arrow_left:not(.disabled)').live('click', function(){
			var obj = $(this).closest('.zinfinitecarousel').find('.zinfinitecarousel_content ul');
			if(!obj.is(':animated')){
				obj.width(obj.width() + obj.find('li:last').width())		
				obj.find('li:last').clone().prependTo(obj)
				
				//Cufon.replace('.intro_text h2, .programmeintro p');
				//Cufon.now();
				obj.css({left: (obj.find('li:first').width() * -1)})
				var position_prev_item = (obj.find('li.active').prev().position().left * -1)
				obj.find('li.active').removeClass('active').prev().addClass('active')
				obj.animate({left: position_prev_item}, 400, function(){
					obj.find('li:last').remove();
					obj.width(obj.width() - obj.find('li:first').width())			
				})				
			}
			return false;
		})
		
		// timer
		if(options.timer){
			var rand_no = Math.floor((10000-7999)*Math.random()) + 8000;
	
			obj.mouseenter(function(){
				$(this).stopTime($(this).attr('id'))
			})
			obj.mouseleave(function(){
				$(this).everyTime(rand_no, $(this).attr('id'), function(){
					$(this).find('.art_nav_arrow_right').trigger('click')
				})
			})
			obj.trigger('mouseleave')			
		}
		$.fn.zinfinitecarousel.check(obj);
	})
}

$.fn.zinfinitecarousel.check = function(obj){
	if(!obj){
		var obj = $('.zinfinitecarousel')	
	}
	obj.each(function(){
		if($(this).find('.zinfinitecarousel_content').width() >= $(this).find('.zinfinitecarousel_content ul').width()){
			if($(this).find('.art_nav_arrow_right, .art_nav_arrow_left').not('.disabled')){
				$(this).find('.art_nav_arrow_right, .art_nav_arrow_left').addClass('disabled')
			}
		} else {
			if($(this).find('.art_nav_arrow_right, .art_nav_arrow_left').is('.disabled')){
				$(this).find('.art_nav_arrow_right, .art_nav_arrow_left').removeClass('disabled')				
			}
		}
	})
}

$.fn.zinfinitecarousel.defaults = {
	timer: true
};

