		jQuery.preloadImages = function() {
			var a = (typeof arguments[0] == 'object')? arguments[0] : arguments;
			for(var i = a.length -1; i > 0; i--) {
				jQuery("<img>").attr("src", a[i]);
			}
		}
		
		intervalCarousel = 8000;
		
		loadImage = function(data,container,id,description){
				//if(window.console) console.log($(id).length);
				if($(id).length == 0){
					$(container).append('<div id="loading"></div>');
					var _image = new Image(); 
					_image.src = data; 
					//_image.id = id;
					//_image.wrap = '<div class="ingrandimento" id="'+id+'"></div>';
					$(_image).load( function(){ 
						//once image is loaded add it to the div and remove the preloading 
						//$(_image).hide();
						$('#loading').remove();
						$(container).append( _image ).removeClass('loading');
						curId = id.replace('#','');
						//if(window.console) console.log(curId);
						$(_image).wrap('<div class="ingrandimento" id="'+curId+'"></div>');
						$('#'+curId).append('<div class="description"><div class="description-content">' + description + '</div></div>');
						$(id).hide();
						//$(_image).show();
						$('.attivo').fadeOut(600).removeClass('attivo');
						$('.ingrandimento').each(function(){
													$(this).hide();
														  });
						//if(window.console) console.log(id);
						$(id).fadeIn(600).addClass('attivo');
					});
				}else{
					$('.attivo').fadeOut(600).removeClass('attivo');
					$(id).fadeIn(600).addClass('attivo');	
				}
				//$('#contImg').trigger('image-loaded');
				return false;
		}
		
		function mycarousel_initCallback(carousel) {
		    jQuery('#next').bind('click', function() {
		        carousel.next();
		        return false;
		    });
		
		    jQuery('#prev').bind('click', function() {
		        carousel.prev();
		        return false;
		    });
			
			jQuery('#contMiniature li').css('width','44px');
			
			$('.linkIngrandimento').bind('clickIngr', function() {
		 		var idx =  $(this).attr('id').match(/\d+/) - 5;
		 		carousel.scroll(idx);
				return false;
			});

			
		};

		var autoScroll;
		
		$(document).ready(function(){
								
								$('.rollover').mouseover(function(){
									var src = $(this).find('img').attr('src');
									$(this).find('img').attr('src',src.replace('_1.png','_2.png'));
								});
								$('.rollover').mouseout(function(){
									var src = $(this).find('img').attr('src');
									$(this).find('img').attr('src',src.replace('_2.png','_1.png'));
								});
								
								$('div.ingrandimento').live('mouseover',function(){  
							    	//if(window.console) console.log($(this).find('.description-content').text());
							    	if($(this).find('.description-content').text() != ''){
								    	$(this).children('.description').css('opacity', 0);  
								        $(this).children('.description').css('width', '1000px');  
								        //$(this).children('.description').parent().css('width', $(this).siblings('img').width());  
								        $(this).children('.description').css('display', 'block');
								        $(this).children('.description').stop().fadeTo(500, 0.7);
							        }
							    });
							    $('div.ingrandimento').live('mouseout',function(){  
							        $(this).children('.description').stop().fadeTo(500, 0);  
							    });
								
								$.preloadImages('_img/loader.gif','_img/contatti_1.png','_img/protfolio_1.png','_img/freccia_dx_1.png','_img/freccia_sx_1.png','_img/meno_1.png','_img/piu_1.png','_img/contatti_2.png','_img/protfolio_2.png','_img/freccia_dx_2.png','_img/freccia_sx_2.png','_img/meno_2.png','_img/piu_2.png','_img/play.png');
								
								$('#contMiniature').jcarousel({
										visible: 14,
										scroll: 7,
								        initCallback: mycarousel_initCallback
									});
								
								/*$('#contMiniature img').lazyload({ 
									effect : "fadeIn" 
								 });*/
								$('.ingrandimento').hide();
								$('#ingrandimento-0').show().addClass('attivo');
								$('.linkIngrandimento').mouseover(function(){
										var title = $(this).attr('title');
										$('#tooltip').html(title);
									})
								$('.linkIngrandimento').tooltip({
												tip: '#tooltip',
												position: 'top center',
												offset: [10,0],
												predelay: 100
														});
								$('.linkIngrandimento').click(function(){
																$(this).trigger('clickIngr');
																var indexScroller0 = Math.floor($('.ingrandimento.attivo').attr('id').replace(/\D+/,'')/7);
																$('#contMiniature .linkAttivo').removeClass('linkAttivo');
																$(this).addClass('linkAttivo');
																var url = $(this).attr('href');
																loadImage(url,'#contImg','#ingrandimento-'+$(this).attr('id').match(/\d+/),$(this).find('img').attr('alt'));
																//if(window.console) console.log(url);
																//if(window.console) console.log($('#stop').find('img').attr('src'));
																var indexScroller1 = Math.floor($(this).attr('id').replace(/\D+/,'')/7);
																//if(window.console) console.log(indexScroller0 + '?' + indexScroller1);
																
																if(indexScroller0 > indexScroller1){
																	//if(window.console) console.log('Scrolla <<');
																	//$('#prev').click();
																}else if(indexScroller0 < indexScroller1){
																	//if(window.console) console.log('Scrolla >>');
																	//$('#next').click();
																}
																
																//if(typeof($('#stop').find('img').attr('src')) !== 'undefined'){
																	//if($('#stop').find('img').attr('src').match('stop')){
																	if($('#contPlay').hasClass('play')){
																		clearInterval(autoScroll);
																		autoScroll = setInterval("$('#plus').click();",intervalCarousel);
																	}
																//}
																//if(window.console) console.log(url);
																return false;
																   });
								$('#plus').click(function(){
												//alert('Buine');		  
												var index = Math.round($('.attivo').attr('id').replace(/\D+/,'')) + 1;
												if($('.linkIngrandimento:eq(' + index + ')').length == 0){
													index = 0;
												}
												//if(window.console) console.log(index);
												$('.linkIngrandimento:eq(' + index + ')').click();
												//if($('#stop').find('img').attr('src').match('stop')){
												if($('#contPlay').hasClass('play')){
													clearInterval(autoScroll);
													autoScroll = setInterval("$('#plus').click();",intervalCarousel);
												}
													});
								
								$('#ingrandimento-0 img').load(function(){
									autoScroll = setInterval("$('#plus').click();",intervalCarousel);
									//alert('Autoscroll inizializzato');
									$('#stop').click(function(){
										if($('#contPlay').hasClass('play')){
											clearInterval(autoScroll);
											$('#contPlay').removeClass('play');
											//if(window.console) console.log('Fermalo');
										}else{
											$('#plus').click();
											autoScroll = setInterval("$('#plus').click();",intervalCarousel);
											$('#contPlay').addClass('play');
											//if(window.console) console.log('Riparti');
										}
										return false;
									});
								});
								$('#minus').click(function(){
												//alert('Buine');		  
												var index = Math.round($('.attivo').attr('id').replace(/\D+/,'')) - 1;
												if($('.linkIngrandimento:eq(' + index + ')').length == 0){
													index = $('.linkIngrandimento').length - 1;
												}
												//if(window.console) console.log(index);
												$('.linkIngrandimento:eq(' + index + ')').click();
												if($('#contPlay').hasClass('play')){
													clearInterval(autoScroll);
													autoScroll = setInterval("$('#plus').click();",intervalCarousel);
												}
													});
								$('.jcarousel-prev, .jcarousel-next').remove();
								/*$('#contMiniature').scrollable({
									next: '#next',
									prev: '#prev',
									size: 14,
									items: 'ul',
									item: 'li'
								});*/
								$('#controlsImg a').click(function(){
									$(this).blur();
								});
		});	
