// JavaScript Document

/**
 *	@version - brLightbox 1.2	
 *
 *	@author Bruno Adolfo Hoffmann -- bruno_mc_dj@hotmail.com -- 09/08/2011
 *	
 *	@jquery - aplicação construida usando uma versão 1.4.x	
 *
 *
 */
 
jQuery.fn.brLightbox = function( options ){
	
	/* Configuração do FilesUpload */
	var settings = {
			divReference: ''
		};
		
	options = jQuery.extend( settings, options ); /* efetua configuração com dados cliente */
	
	/* cria o objeto div */
	var object = jQuery(options.divReference);
	
	/* dimensões do navegador */
	var navAltura = jQuery(window).height();
	var navLargura = jQuery(window).width();
	
	// pega 25% da altura e largura
	var porcAltura = parseFloat(navAltura / 4);
	var porcLargura = parseFloat(navLargura / 4);
	
	/* execução para o IE */
	if(jQuery.browser.msie){
		
		object.css('position','fixed');
		object.css('text-align','center');
		object.css('background','#000');
		object.css('opacity','0.5');
		object.css('width', parseFloat(navLargura + 20)+'px');
		object.css('height',navAltura+'px');
		object.css('margin','0 auto');	
		
		/* calcula a metade da imagem */
		var meioAltura = parseFloat(object.find('img:first').height() / 2 );
		var meioLargura = parseFloat(object.find('img:first').width() / 2 );
		
		object.find('img:first').css('position','fixed');
		object.find('img:first').css('margin-top', parseFloat(navAltura / 2) - meioAltura );
		object.find('img:first').css('margin-left', parseFloat(navLargura / 2) - meioLargura );
		object.find('img:first').slideDown();
		
		
	}else{
		
		/* hide nas imagens */
		object.find('img').hide();
		
		/* inicio da emoção */
		object.css('position','fixed');
		object.css('text-align','center');
		object.css('background','#000');
		object.css('opacity','0.10');
			/* hack opacity */
			object.css('-moz-opacity','0.10');
			
		object.css('width',porcLargura+'px');
		object.css('height',porcAltura+'px');
		object.css('margin','0 auto');	
		
		/* calculo do auto incremento */
		var autoAltura = navAltura / 100;
		var autoLargura = navLargura / 100;
		
		/* auto incremento da altura */
		var newAltura = porcAltura;
		var intervalAltura = setInterval(function(){
			
			/* nova altura */
			newAltura = parseFloat(newAltura + autoAltura);
			if( newAltura != navAltura ){
				object.css('height',newAltura+'px');
			}else{
				object.css('height','100%');
				clearInterval(intervalAltura);
			}
				
		},10);
		
		/* auto incremento da largura */
		var newLargura = porcLargura;
		var intervalLargura = setInterval(function(){
			
			/* nova altura */
			newLargura = parseFloat(newLargura + autoLargura);
			if( newLargura < navLargura ){
				object.css('width',newLargura+'px');
			}else{
				if(jQuery.browser.mozilla){
					newLargura = parseFloat(newLargura + 20);
					object.css('width','100%');
				}
				clearInterval(intervalLargura);
			}
				
		},10);
		
		/* auto incremento da opcidade */
		var acresOpacity = 1 / 80;
		var newOpacity = 0.10
		var intervalOpacity = setInterval(function(){
			
			/* nova altura */
			newOpacity = parseFloat(newOpacity + acresOpacity);
			if( newOpacity < 1.0 ){
				object.css('opacity',newOpacity);
				object.css('-moz-opacity',newOpacity);
			}else{
				clearInterval(intervalOpacity);
			}
				
		},8);
		
		setTimeout(function(){
			/* calcula a metade da imagem */
			var meioAltura = parseFloat(object.find('img:first').height() / 2 );
			var meioLargura = parseFloat(object.find('img:first').width() / 2 );
			
			object.find('img:first').css('position','fixed');
			object.find('img:first').css('margin-top', parseFloat(navAltura / 2) - meioAltura );
			object.find('img:first').css('margin-left', parseFloat(navLargura / 2) - meioLargura );
			object.find('img:first').slideDown(1000);
			
		}, 1000);
	
	}
	
	object.bind('click',function(){
		object.fadeOut(1000);
		setTimeout(function(){ object.remove(); }, 1000);
	});
	
	
}

