// Inicializa uma apresentação
function iniciarApresentacao( num_slides, id_inicial, duracao_slide, id_hidden ){
	jQuery( "#slide_link" + id_inicial ).addClass( 'selected' );
	if( num_slides < 2 ) return;
	for( i = 1; i < num_slides; i++ ) jQuery( '#slide' + ( i + id_inicial ) ).css( { 'opacity': 1, 'display': 'none' } );
	setTimeout( "ISS_animar( " + num_slides + ", " + id_inicial + ", " + id_inicial + ", " + ( id_inicial + 1 ) + ", " + duracao_slide + ", " + duracao_slide + ", " + id_hidden +" )", 50 );
}

// Gera o efeito de animação nos slides
function ISS_animar( num_slides, id_inicial, id0, id1, duracao_slide, intervalo_restante, id_hidden ){
	if( intervalo_restante < 0 ){
		// Executa a transição de slides
		jQuery( '#slide' + id0 ).fadeOut( 1000 );
		jQuery( '#slide' + id1 ).fadeIn( 1000 );
		
		// Muda a imagem de seleção de item
		jQuery( "#slide_link" + id0 + ", #slide_link" + id1 ).toggleClass( 'selected' );
		
		// Define o próximo passo da apresentação
		id0 = id1;
		if( ( id1 - id_inicial ) == ( num_slides - 1 ) ) id1 = id_inicial;
		else id1 = id1 + 1;
		
		// Prossegue com a apresentação
		setTimeout( "ISS_animar( " + num_slides + ", " + id_inicial + ", " + id0 + ", " + id1 + ", " + duracao_slide + ", " + duracao_slide + ", " + id_hidden +" )", 50 );
	} else {
		var hidden_value = jQuery( "#id_hid" + id_hidden ).attr( 'value' );
		if( hidden_value != "ok" ){
			// Oculta os slides atuais
			jQuery( '#slide' + id0 + ', #slide' + id1 ).css( { 'opacity': 1, 'display': 'none' } );
			jQuery( "#slide_link" + id0 + ", #slide_link" + id1 ).removeClass( 'selected' );
			
			// Exibe o slide selecionado
			jQuery( '#slide' + hidden_value ).css({ 'opacity': 1, 'display': 'block' });
			jQuery( "#slide_link" + hidden_value ).addClass( 'selected' );
			
			// Redefine os slides atuais
			id0 = Number( hidden_value )
			if( ( id0 - id_inicial ) == ( num_slides - 1 ) ) id1 = id_inicial;
			else id1 = id0 + 1;
			
			// Reseta o campo id_hid NO DOCUMENTO HTML
			jQuery( "#id_hid" + id_hidden ).attr( 'value', 'ok' );
		}
		
		// Ajusta o contador
		intervalo_restante = intervalo_restante - 50;
		
		// Reinicia a apresentação
		setTimeout( "ISS_animar( " + num_slides + ", " + id_inicial + ", " + id0 + ", " + id1 + ", " + duracao_slide + ", " + intervalo_restante + ", " + id_hidden +" )", 100 );
	}
}
