if(jQuery) (function(){
	
	jQuery.fn.extend({
		
		DDSlideTab_v2: function(opzioni)
		{
			//opzioni['direzione'] = top || bottom || left || right || cros-top || cros-bottom || cros-left || cros-right
		
			var id = $(this).attr('id');
			if($('#'+id+'_tab_count').length == 0 && opzioni['numero_tab'] == 'si'){ $(this).append('<div class="'+id+'_tab_count" id="'+id+'_tab_count"></div>'); }
			var i = 0;
			$('#'+id+' div[id!='+id+'_tab_count][tab="si"]').each(function(){
				
				$('#'+id+'_tab_count').prepend('<div class="'+id+'_tab_count_num" tab_n="'+i+'">'+(i+1)+'</div>');
				
				$(this).attr({id: id+'_div_tab_'+i});
				if(i == 0)
				{
					$(this).css({position: 'absolute', top: '0px', left:'0px','z-index': 100});
				}
				else
				{
					switch(opzioni['direzione'])
					{
						case 'top':
							var top = '-'+($('#'+id).height()+1)+'px';
							var left = '0px';
							break;
						case 'bottom':
							var top = ($('#'+id).height()+1)+'px';
							var left = '0px';
							break;
						case 'left':
							var left = '-'+($('#'+id).width()+1)+'px';
							var top = '0px';
							break;
						case 'right':
							var left = ($('#'+id).width()+1)+'px';
							var top = '0px';
							break;
						default:
							var left = '-'+($('#'+id).width()+1)+'px';
							var top = '0px';
							break;
					}
					$(this).attr({'posizione_iniziale_top': top, 'posizione_iniziale_left': left})
					$(this).css({position: 'absolute', top: top, left: left,'z-index': 100});
				}

				i++;
			});
			
			$('.'+id+'_tab_count_num').each(function(){
				$(this).bind('click',function(){
					t = $(this).attr('tab_n');
					$('#'+id).DDSlideGoToTab_v2(t,opzioni);
				});
			});
			$(this).attr({'tab_act': 0});
			$(this).attr({'direzione': opzioni['direzione']});
		},
		DDSlideGoToTab_v2: function(tab)
		{
			var id_cont = $(this).attr('id');
			var id = id_cont+'_div_tab_'+tab;
			var id_old = id_cont+'_div_tab_'+$(this).attr('tab_act');
			
			var opzioni = {direzione: $('#'+id_cont).attr('direzione')};
			
			if(id!=id_old)
			{
				$('#'+id).css({'z-index': '101'});
				$('#'+id_old).css({'z-index': '100'});
				
				switch(opzioni['direzione'])
				{
					case 'top':
						var top = '-'+($('#'+id).height()+1);
						var left = '0';
						break;
					case 'bottom':
						var top = ($('#'+id).height()+1);
						var left = '0';
						break;
					case 'left':
						var left = '-'+($('#'+id).width()+1);
						var top = '0';
						break;
					case 'right':
						var left = ($('#'+id).width()+1);
						var top = '0';
						break;
					default:
						var left = '-'+($('#'+id).width()+1);
						var top = '0';
						break;
				}
				
				$('#'+id).animate({left: '0px', top: '0px'},1500);
				$('#'+id_old).animate({left: (left*-1)+'px', top: (top*-1)+'px'},1500,function(){
					//var l = $('#'+id_old).attr('posizione_iniziale_left');
					//var t = $('#'+id_old).attr('posizione_iniziale_top');
					//$('#'+id_old).css({left: l+'px', top: t+'px'})
					$('#'+id_old).css({left: (left*1)+'px', top: (top*1)+'px'});
					$('#'+id_cont).attr({'tab_act': tab});
					//$('#'+id_cont+' .'+id_cont+'_tab_count_num[tab_n!='+tab+']').removeClass('tab_count_num_sel');
					//$('#'+id_cont+' .'+id_cont+'_tab_count_num[tab_n='+tab+']').addClass('tab_count_num_sel');
				});
				var l = $('#'+id_old).attr('posizione_iniziale_left');
				var t = $('#'+id_old).attr('posizione_iniziale_top');
				$('#'+id_old).css({left: l+'px', top: t+'px'})
			}
		},
		DDSlideAutoPlay_v2: function(timeout)
		{
			var id = $(this).attr('id');
			var n_div = $('#'+id+' div[tab="si"]').length;
			var div_act = $(this).attr('tab_act');
			
			var opzioni = {direzione: $('#'+id).attr('direzione')};
			
			if(div_act < n_div-1)
			{
				$(this).DDSlideGoToTab_v2((div_act*1)+1,opzioni);
			}
			else
			{
				$(this).DDSlideGoToTab_v2(0);
			}
			
			var TimeOut2 = setTimeout('$("#'+id+'").DDSlideAutoPlay_v2("'+timeout+'")',timeout);
		}
	});
})(jQuery);
