var deleteElements = 0;
var elementsQty = 0;
var intid = 0;
var scriptBusy = 0;
var widthToAnimate = 0;
var time = 4000;
var ifMouseIsOver = 0;

function slider(){
	if(jQuery('.slider_active').next().length == 0) {
		jQuery('#mycarousel li').each(function(){
			jQuery(this).clone().appendTo('#mycarousel');
		});
		deleteElements = 1;
	}
    
	jQuery('.slider_active').removeClass('slider_active').next().addClass('slider_active');
	
	var navigatorNum = parseInt(jQuery('#mycarousel li').index(jQuery('.slider_active')));
	navigatorNum = (navigatorNum+1)%elementsQty;
	if(navigatorNum == 0) navigatorNum = elementsQty;
	
	jQuery('.jcarousel-control a').removeClass('active_control');
	jQuery('#control-' + navigatorNum).addClass('active_control');
	
	scriptBusy = 1;
	
	jQuery('#mycarousel').animate({
			marginLeft: '-=' + widthToAnimate
		}, 700, function() {
			scriptBusy = 0;
			if(deleteElements){
				var i = 0;
				jQuery('#mycarousel li').each(function(){
					if(i++<elementsQty){
						jQuery(this).remove();
					}
					else{
						return false;
					}
				});
				jQuery('#mycarousel').css('margin-left', '0px');
				deleteElements = 0;
			}
		}
	);
}

jQuery('document').ready(function(){
    intid = 0;
    elementsQty = jQuery('#mycarousel').children('li').length;
    widthToAnimate = parseInt(jQuery('#mycarousel li').css('width'));
    intid = setInterval(slider,time);
    
    jQuery('.jcarousel-control a').click(function(){
    	if(!scriptBusy){
    		var id = jQuery(this).attr('id').split('-');
    		id = parseInt(id[id.length - 1]);
    		
    		scriptBusy = 1;
    		
    		jQuery('.jcarousel-control a').removeClass('active_control');
    		jQuery('#control-' + id).addClass('active_control');
    		clearInterval(intid);
    		
    		jQuery('.slider_active').removeClass('slider_active');
    		jQuery('#mycarousel li').eq(id-1).addClass('slider_active');
    		
    		jQuery('#mycarousel').animate({
    				marginLeft: (-1 * widthToAnimate * (id-1))
    			}, 700, function() {
    				scriptBusy = 0;
//    				if(!ifMouseIsOver) intid = setInterval(slider,time);
    			}
    		);
    	}
    });
    
    jQuery('#mycarousel').mouseover(function(){
    	clearInterval(intid);
    	ifMouseIsOver = 1;
    });
    
    jQuery('#mycarousel').mouseout(function(){
    	intid = setInterval(slider,time);
    	ifMouseIsOver = 0;
    });
});
