/*-------------------------------------------------------
	Funciones para generar las galerias de imagenes
-------------------------------------------------------*/
var carouselGaleria = "";

$(document).ready(function(){
	
    $('#abrirGaleria').fancybox({
        'overlayOpacity'	: 0.7,
        'overlayColor'		: '#000',
		'width'				: 790,
		'height'			: 565,
		'hideOnContentClick': false,
		'scrolling'			: 'hidden',
		'padding'			: 0,
		'onComplete'		: cargarGaleria
	});
	
});

function cargarGaleria(){
	//$(document).ready(function(){
		/*-------------------------------------------------------
			Inicializar el carrusel
		-------------------------------------------------------*/
		$("#galeria").jcarousel({
			scroll			: 5,
			visible			: 5,
			buttonNextHTML	: null,
			buttonPrevHTML	: null,
			initCallback	: inicializarGaleria
			//itemLoadCallback: galeria
		}).css({'visibility':'visible','display':'block'});
	//});	
}
	
function inicializarGaleria(carousel){

	hoverFancybox();

	carouselGaleria = carousel;
	
	$('<div id="jcarousel-imagen"></div>').insertBefore($('.jcarousel-clip'));
	
	$('<a href="#" id="galeria-prev"></a>').insertBefore($('.jcarousel-clip'));
	$('<a href="#" id="galeria-next"></a>').insertAfter($('.jcarousel-clip'));
	
	var nro = redondear($('li.jcarousel-item').size().toFixed(1) / 5);
	if (nro == 1){
		$('#galeria-prev').css({'visibility':'hidden','display':'block'});
		$('#galeria-next').css({'visibility':'hidden','display':'block'});
		$('.jcarousel-scroll').css({'visibility':'hidden','display':'block'});
	}
	var paginador = new Array();
	var aux = 0;
	for (i = 1; i <= nro; i++) {
		if (i == 1) {
			paginador.push('<a href="#" class="paginaItem seleccionado" rel="1"></a>');
		}
		else {
			paginador.push('<a href="#" class="paginaItem" rel="' + (aux + 5) + '"></a>');
			aux = aux + 5;
		}
	}
	
	var paginadorContenido = paginador.join("");
	$('.jcarousel-paginador').append(paginadorContenido);
	
	var w = 0;
	$('.jcarousel-paginador').find('a').each(function(){
		w = w + parseInt($(this).innerWidth()) + 10;
	});
	
	$('.jcarousel-paginador').css({
		'width': w
	});
	
	$('.paginaItem').click(function(){
		var num = parseInt($(this).attr('rel'));
		$('.paginaItem').removeClass('seleccionado');
		$(this).addClass('seleccionado');
		carouselGaleria.scroll(num);
		return false;
	});
	
	$('#galeria-next').bind('click', function(){
		moverPaginador('next');
		carousel.options.scroll = $.jcarousel.intval(5);
		carousel.next();
		return false;
	});
	
	$('#galeria-prev').bind('click', function(){
		moverPaginador('prev');
		carousel.options.scroll = $.jcarousel.intval(5);
		carousel.prev();
		return false;
	});
	
	$('li.jcarousel-item').each(function(){
		var titulo = $(this).find('img:first').attr('alt');
		$('<span>' + titulo + '</span>').insertAfter($(this).find('img:first'));
	});
	$('.paginaItem').eq(0).trigger('click');
	
	galeria();
};

function galeria(){
	mostrarImagen($('li.jcarousel-item').eq(0));
	var wImg = $('#jcarousel-imagen').find('img').innerWidth();
	var hImg = $('#jcarousel-imagen').find('img').innerHeight();
	ajustarCaption(wImg,hImg);
	$('li.jcarousel-item').each(function(){
		//mostrarImagen($(this));
		$(this).find('div:first').hover(
			function(){
				$(this).find('span:first').show();
				$(this).click(function(){
					mostrarImagen($(this).parents('.jcarousel-item:first'));
					var wImg = $('#jcarousel-imagen').find('img').innerWidth();
					var hImg = $('#jcarousel-imagen').find('img').innerHeight();
					ajustarCaption(wImg,hImg);
				});
			}, 
			function(){
				$(this).find('span:first').hide();
			}
		);
	});
}

function mostrarImagen(elemento){
	//var index = elemento.attr('jcarouselindex');
	var index = elemento.attr('jcarouselindex');
	var galeriaContenido = elemento.find('.galeriaContenido:first').find('p');
	if (galeriaContenido.length > 0) {
		var w = galeriaContenido.eq(0).find('img:first').width();
		var imagen = galeriaContenido.eq(0).find('img:first').attr('src');
		var contenido = galeriaContenido.eq(1).text();
		
		var output = 
		'<div class="imagenContenedor" style="width:' + w + 'px;">' +
		'	<img src="' + imagen + '" class="' + index + '" alt="" />' +
		'	<div class="caption">' + contenido + '</div>' +
		'</div>';
		
		$('#jcarousel-imagen').html(output);
	}
	
	//ajustarCaption();
	return false;
}

function ajustarCaption(wImg,hImg){
	if (wImg != null) {
		if (wImg == 0) {
			wImg = $('#jcarousel-imagen').find('img').innerWidth();
		}
		if (wImg > 0) {
			$('.imagenContenedor').css({
				'width'		: wImg + 'px',
				'margin'	: '0 auto'
			});
		}
	}
	if (hImg != null) {
		if (hImg < 440) {
			$('#jcarousel-imagen').find('.caption').css({
				'bottom': ((440 - hImg) + 30) + 'px'
			});
		}
	}
}

function moverPaginador(opcion){
	var pagina = $('.jcarousel-paginador').find('a.seleccionado');

	if (opcion == 'prev'){
		if (pagina.prev().length == 1){
			pagina.removeClass('seleccionado');
			pagina.prev().addClass('seleccionado');
		}
	}
	if (opcion == 'next'){
		if (pagina.next().length == 1){
			pagina.removeClass('seleccionado');
			pagina.next().addClass('seleccionado');
		}
	}
}

function redondear(num){
	var entero = num.toString().split('.')[0];
	var decimal = parseInt(num.toString().split('.')[1]);
	if (decimal && decimal > 0) {
		entero++;
	}
	return parseInt(entero);
}

