function initDigitalProductAction()
{
	postProcessResult();
}

/***************************
* TABBER ACCESSORIES BLOCK *
***************************/

/**
 * Assegna i gestori di evento dopo il caricamento della pagina dei prodotti
**/
function postProcessResult()
{
	$('#product-tabber-accessories .tabber-footer .pager a').click
	(
		function(){ accessoriesPageChanged( $(this) ); return false; }
	);
	$('#product-tabber-accessories .tabber-header .sort-links a').click
	(
		function(){ accessoriesSortChanged( $(this) ); return false; }
	);
}

/**
 * Gestisce il cambio di ordinamento della lista degli accessori
 *
 * @param link, jQuery, required, Il link cliccato
**/
function accessoriesSortChanged( link )
{
	var href = link.attr('href');
	var sort = href.substr( href.lastIndexOf('#') + 1).split('-');
	var info = getAccessoriesPageInfo();

	getAccessoriesPage( info.page, sort[2], sort[3] );
}

/**
 * Gestisce il cambio di pagina del tab degli accessori
 *
 * @param link, jQuery, required, Il link cliccato
**/
function accessoriesPageChanged( link )
{
	/* recupera la pagina */
	var href = link.attr('href');
	var info = getAccessoriesPageInfo();
	var page = href.substr( href.lastIndexOf('#page-') + 6 );

	getAccessoriesPage( page, info.sort, info.direction );
}

/**
 * Recupera le informazioni relative alla pagina corrente degli accessori
 *
 * @return object
**/
function getAccessoriesPageInfo()
{
	/* recupera l'id del div degli accessori */
	var id = $('#product-tabber-accessories .accessories-list').attr('id');
	var temp = id.split('-');
	return {page: temp[3], sort: temp[4], direction: temp[5]};
}

/**
 * Richiede una pagina di accessori
 *
 * @param page, int, optional, La pagina
 * @param orderby, string, optional, Il tipo di ordinamento
 * @param direction, string, optional, La direzione di ordinamento
**/
function getAccessoriesPage( page, orderby, direction )
{
	/* normalizza i parametri */
	if( page == undefined ){page = 1};
	if( page == undefined ){orderby = 'data'};
	if( direction == undefined ){direction = 'DESC'};
	/* recupera il div di destinazione */
	var destination = $('#product-tabber-accessories');
	/* mostra l'ajax loader */
	showAjaxLoader( destination );
	/* effettua la chiamata */
	$.ajax
	(
		{
			type: 'POST', url: SITE_PATH + 'a/ajax.php',
			data: 'c=prodotti&m=getAccessories&complete=0&product=' + PRODUCT_ID + '&page=' + page + '&orderby=' + orderby + '&direction=' + direction,
			success: function( result )
			{
				hideAjaxLoader( destination );
				if( ajaxError( result ) )
				{
					return false;
				}
				var temp = result.split('<|SEP|>');
				destination.find('.list-info').empty().html(temp[0]);
				destination.find('.pager').replaceWith( temp[1] );
				destination.find('.tabber-header').empty().html(temp[2]);
				destination.find('.accessories-list').replaceWith(temp[3]);
				destination.find('.accessories-list').hide().fadeIn('slow');

				postProcessResult();
			}
		}
	);
}

/**
 * Associa la funzione initDigitalProductAction all'evento onload della pagina
**/
$( document ).ready( initDigitalProductAction );
