// =============================== 
// ! GESTIONE IMMAGINE DI SFONDO   
// =============================== 

function resizeBackground(bg, relative) {
	var parentW = jQuery(window).width();
	var parentH = jQuery(window).height();
	var parentRatio = parentH / parentW;
	var bgRatio = bg.height() / bg.width();
	
	if (bg.height() < bg.width()) {
		// orizzontale
		bg.width(parentW);
		var bgHeight = parentW * bgRatio;
		if (bgHeight < parentH) {
			bg.height(parentH);
			bg.width(parentH / bgRatio);
		} else {
			bg.height(bgHeight);
		}
	} else {
		// verticale
		bg.height(parentH);
		bg.width(parentH / bgRatio);
	}
	
	// centratura
	var diffH = parentH - bg.height();
	var diffW = parentW - bg.width();
		bg.css('margin-top', diffH);
		bg.css('margin-left', diffW/2);
}

jQuery(window).load(function() {
	resizeBackground(jQuery('#realbgimage img'), jQuery('#realbgimage'));
});

jQuery(window).bind('resize', function(){
	resizeBackground(jQuery('#realbgimage img'), jQuery('#realbgimage'));
});

















/**
 * We use the initCallback callback to assign functionality to the controls
 */

function getItemsNumber() {
	var maxItems = 0;
	jQuery('.boxBannerHome').each(function(i, j) {
		maxItems++;
	});
	return maxItems;
}

function generateScrollButtons() {
	var maxItems = getItemsNumber();

	var html = '';
	for (i = 1; i <= maxItems; i++) {
		html += '<a href="#" class="scrollLinkNumber"><img src="/fileadmin/templates/media/images/off.gif" id="bann_' + i + '"/></a>';
	}

	html = '<a href="#" id="mycarousel-prev"><img src="/fileadmin/templates/media/images/sx.gif"/></a>' + html + '<a href="#" id="mycarousel-next"><img src="/fileadmin/templates/media/images/dx.gif"/></a>';
	jQuery('.jcarousel-control').html(html);
}

function scrollPointsAndBanner(carousel, uid, scrollBanner) {
	var maxItems = getItemsNumber();
	if (scrollBanner)
		carousel.scroll(jQuery.jcarousel.intval(uid));

	for (i = 1; i <= maxItems; i++) {
		jQuery('#bann_' + i).attr('src',
				'/fileadmin/templates/media/images/off.gif');
	}
	uid = jQuery.jcarousel.intval(uid);
	jQuery('#bann_' + uid).attr('src',
			'/fileadmin/templates/media/images/on.gif');
}

function mycarousel_initCallback(carousel) {
	scrollPointsAndBanner(carousel, 1, false);
	jQuery('.jcarousel-control .scrollLinkNumber').bind('click', function() {
		var uid = jQuery('img', jQuery(this)).attr('id').substring(5);
		scrollPointsAndBanner(carousel, uid, true);
		return false;
	});

	jQuery('#mycarousel-next').bind('click', function() {
		carousel.next();
		scrollPointsAndBanner(carousel, carousel.first, false);
		return false;
	});

	jQuery('#mycarousel-prev').bind('click', function() {
		carousel.prev();
		scrollPointsAndBanner(carousel, carousel.first, false);
		return false;
	});
};

function hilightCarousel(carousel) {
	var maxItems = getItemsNumber();
	for (i = 1; i <= maxItems; i++) {
		jQuery('#bann_' + i).attr('src',
				'/fileadmin/templates/media/images/off.gif');
	}
	uid = carousel.first;
	jQuery('#bann_' + uid).attr('src',
			'/fileadmin/templates/media/images/on.gif');
}

// Ride the carousel...
jQuery(document).ready(function() {

	generateScrollButtons();
	jQuery("#mycarousel").jcarousel( {
		 scroll: 1,
	    auto:7,
	    wrap: 'last',
		initCallback : mycarousel_initCallback,
		itemVisibleOutCallback : hilightCarousel,
		// This tells jCarousel NOT to autobuild prev/next buttons
		buttonNextHTML : null,
		buttonPrevHTML : null
	});

});

