// JavaScript Document
	var lastSliderID = 0;
	var Sliders = new Array();
	var navegador = "chrome";
	if(navigator.appVersion.search(/IE 7.0/)) navegador = "ie7";
	else if(navigator.appVersion.search(/IE 8.0/)) navegador = "ie7";
	else if(navigator.appVersion.search(/safari/) && !navigator.appVersion.search(/chrome/)) navegador = "safari";
	else if(navigator.appVersion.search(/chrome/)) navegador = "chrome";
	else if(navigator.appCodeName.search(/mozilla/)) navegador = "firefox";
	else if(navigator.appName.search(/opera/)) navegador = "opera";
    $.fn.fotoshow = function(settings) {
		var defaults = {
			efeito:'fade', // fade | show
			sincronizacaoDoEfeito:0, // 0 - Fecha -> Abre | 1 - Abre -> Fecha | 2 - Fecha/Abre
			tempoEfeito:1000,
			tempoTroca:2000,
			tipoElemento:'img', //qualquer elemento ( ou classe )
			alterarProporcaoPai:0, // 0- simplesmente troca as fotos | 1- Troca as fotos redimensionando o elemento pai para que a nova foto se encaixe (with) | 2- height | 3- width+height
			redimensionarImagem:0,
			efeitoInicial:0, //0- O Primeiro SLIDE já fica aparecendo | 1- Aplica o efeito para aparecer o primeiro slide
			TimerTrocaFotos:false,
			folga:0,
			folgaIE7:0,
			folgaIE8:0,
			folgaChrome:0,
			folgaFirefox:0,
			folgaSafari:0,
			folgaOpera:0
        };
		opcoes  = $.extend(defaults, settings);
		$(this).attr("sliderid",lastSliderID);
		Sliders[lastSliderID] = opcoes;
		lastSliderID++;
		ExecutarScript($(this),opcoes);
	};
    $.fn.fotoshowGoto = function(slidenum) {
		var settings = Sliders[$(this).attr("sliderid")];
		var AcSlide = $(this).children(settings.tipoElemento+":visible");
		if(slidenum != slidenum.split("+").join("") || slidenum != slidenum.split("-").join("")){
			var ai = AcSlide.index();
			var nsn = (AcSlide.index()+parseInt(slidenum));
			var newSlide = $(this).children(settings.tipoElemento+":eq("+nsn+")");
			if(!newSlide.length && nsn > ai) newSlide = $(this).children(settings.tipoElemento+":first");
			else if(!newSlide.length && nsn < ai) newSlide = $(this).children(settings.tipoElemento+":last");
			abreFecha(newSlide,AcSlide,settings);
		}else{
			var nsn = parseInt(slidenum);
			var newSlide = $(this).children(settings.tipoElemento+":eq("+nsn+")");
			if(!newSlide.length) newSlide = $(this).children(settings.tipoElemento+":last");	
			abreFecha(newSlide,AcSlide,settings);
		}
	};
	$.fn.fotoshowSlide = function() {
		var settings = Sliders[$(this).attr("sliderid")];
		return $(this).children(settings.tipoElemento+":visible").index();
	};
	function Trace(message){
		var html = $(".trc").html();
		if(html.length > 1000) $(".trc").html(message);
		else $(".trc").html(message+"<br /><hr />"+html);
	};
	function ExecutarScript(bgeto,settings){
			bgeto.children(settings.tipoElemento+":first").attr("first","true");	
			bgeto.children(settings.tipoElemento).hide();
			bgeto.children(settings.tipoElemento).css({
				'position':'relative',
				'z-index':'1',
				'margin':'0 0 0 0',
				'left':'0',
				'top':'0'
			});
			
			var pw = parseInt(bgeto.width());
			var ph = parseInt(bgeto.height());
			var numSlides = parseInt(bgeto.children(settings.tipoElemento).length);
			var loadedSlides = 0;
			var LoadTimeout;
			bgeto.children(settings.tipoElemento).each(function(){
				ResizeImage($(this),pw,ph);
				loadedSlides++;
				if(loadedSlides >= numSlides && loadedSlides > 0){
					// Inicia os slides:
					var ftslide = bgeto.children(settings.tipoElemento+":first");
					var scslide = ftslide.next(settings.tipoElemento);
					if(settings.tempoTroca)startTimer(scslide,ftslide,settings.tempoTroca,settings);
				}
			});
			if(!settings.efeitoInicial) bgeto.children(settings.tipoElemento+":first").show();
		};
		function ResizeImage(elemento,cw,ch){
			var iw = parseInt(elemento.width());
			var ih = parseInt(elemento.height());
			if(iw <= 0 || ih <= 0) setTimeout(function(){ResizeImage(elemento,cw,ch);},100);
			if(iw != cw || ih != ch){
				if(iw > ih){
					elemento.css("width",cw+"px");
				}else if(iw < ih){
					elemento.css("height",ch+"px");
				}
			}
			return true;
		}
		function abreFecha(elAbre,elFecha,settings){
			if(elAbre.index(settings.tipoElemento) == elFecha.index(settings.tipoElemento)) return true;
			var folga = 0;
			if(navegador == "ie7") folga = settings.folgaIE7;
			else if(navegador == "ie8") folga = settings.folgaIE8;
			else if(navegador == "safari") folga = settings.folgaSafari;
			else if(navegador == "chrome") folga = settings.folgaChrome;
			else if(navegador == "firefox") folga = settings.folgaFirefox;
			else if(navegador == "opera") folga = settings.folgaOpera;
			
			if(settings.alterarProporcaoPai){
				elAbre.parent().css("overflow","hidden");
			}
			if(settings.alterarProporcaoPai == 1){
				elAbre.parent().css("width",parseInt(elAbre.width())+"px");
			}
			else if(settings.alterarProporcaoPai == 2){
				elAbre.parent().css("height",parseInt(elAbre.height())+"px");
			}
			else if(settings.alterarProporcaoPai == 3){
				elAbre.parent().css("width",parseInt(elAbre.width())+"px");
				elAbre.parent().css("height",parseInt(elAbre.height())+"px");
			}
			switch(settings.sincronizacaoDoEfeito){
				case 1:{
					if(elAbre.attr("first") != "true") elAbre.css("top","-"+(parseInt(elFecha.height())+folga+settings.folga)+"px");
					else elFecha.css("top","-"+(parseInt(elAbre.height())+folga+settings.folga)+"px");
					elFecha.css("z-index","1");
					elAbre.css("z-index","2");
					elAbre.fadeIn(settings.tempoEfeito,function(){
						elFecha.fadeOut(settings.tempoEfeito,function(){
							elFecha.hide();
							if(elAbre.index(settings.tipoElemento)) elAbre.css("top","0px");
							else elFecha.css("top","0px");
						});
						if(settings.tempoTroca) startTimer(elAbre.next(settings.tipoElemento),elAbre,settings.tempoTroca,settings);
					});
					break;
				}
				case 2:{
					if(elAbre.attr("first") != "true") elAbre.css("top","-"+(parseInt(elFecha.height())+folga+settings.folga)+"px");
					else elFecha.css("top","-"+(parseInt(elAbre.height())+folga+settings.folga)+"px");
					elFecha.css("z-index","1");
					elAbre.css("z-index","2");
					elAbre.fadeIn(settings.tempoEfeito,function(){
					});
					elFecha.fadeOut(settings.tempoEfeito,function(){
						elFecha.hide();
						if(elAbre.index(settings.tipoElemento)) elAbre.css("top","0px");
						else elFecha.css("top"	,"0px");
						if(settings.tempoTroca) startTimer(elAbre.next(settings.tipoElemento),elAbre,settings.tempoTroca,settings);
					});
					break;
				}
				default:{
					elFecha.fadeOut(settings.tempoEfeito,function(){
						elAbre.fadeIn(settings.tempoEfeito,function(){
							elFecha.hide();
						});
						if(settings.tempoTroca) startTimer(elAbre.next(settings.tipoElemento),elAbre,settings.tempoTroca,settings);
					});
					break;
				}
			}
		};
		function startTimer(elAbre,elFecha,tempo,settings){
			if(!elAbre.length) elAbre = elFecha.parent().children(settings.tipoElemento+":first");
			if(settings.TimerTrocaFotos) clearTimeout(settings.TimerTrocaFotos);
			settings.TimerTrocaFotos = setTimeout(function(){
				abreFecha(elAbre,elFecha,settings);
			},tempo);
		};
