//  Desenvolvido por Rodrigo Fante
//	Fazedor de Site - http://www.fazedordesite.com
//	FS Galeria de Imagens - Versão 2.1.1
var todasImagens = new Array;var Atual = "";var proxLink = "";var antLink = "";
function $() { 
	var elements = new Array();
	for(var i = 0; i < arguments.length; i++){
		var element = arguments[i];
		if (typeof element == 'string') element = document.getElementById(element);
		if (arguments.length == 1) return element;
		elements.push(element);
	}
	return elements;
}
function preCarrega(img,atual){ 
	var nova_img = new Image();
	nova_img.onload=function(){
		var total = img.length;
		var proxima = atual+1;
		if(proxima<total) preCarrega(img,proxima);
	}
	nova_img.src = img[atual][1];
}
function preCarregarImgs(){
	var todosLinks = document.getElementsByTagName('a'); 
	var cl = 0;
	for (var i=0; i<todosLinks.length; i++){
		var cada_link = todosLinks[i];
		var atributo_rel = String(cada_link.getAttribute('rel'));
		if (cada_link.getAttribute('href') && (atributo_rel.toLowerCase().match('aumenta'))){ 
			todasImagens.push(new Array(cl, cada_link.getAttribute('href'), cada_link.getAttribute('title')));
			cl++;
		}
	}
	preCarrega(todasImagens,0);
}
function centralizaObj(larg, alt){
	window.scrollTo(0,0);
	var medidas = pegaMedidas(false); 
	var larguraPag = medidas[0];
	var alturaPag = medidas[1];
	var margemH = -1*(larg/2);
	var limiteH = -1*(larguraPag/2);
	if(margemH<limiteH) margemH = limiteH+5;
	$("quadro").style.marginLeft=margemH+"px";
	var margemY = -1*(alt/2);
	var limiteY = -1*(alturaPag/2);
	if(margemY<limiteY) margemY = limiteY+5;
	$("quadro").style.marginTop=margemY+"px";	
}
function pegaMedidas(rolagem){
	var larguraPag, alturaPag, rolagemH, rolagemV;
	if (self.innerHeight) {
		larguraPag = self.innerWidth;
		alturaPag = self.innerHeight;
	} else if (document.documentElement && document.documentElement.clientHeight) {
		larguraPag = document.documentElement.clientWidth;
		alturaPag = document.documentElement.clientHeight;
	} else if (document.body) { 
		larguraPag = document.body.clientWidth;
		alturaPag = document.body.clientHeight;
	}
	if(rolagem){ 
		var rolagemH, rolagemV;
		if (window.innerHeight && window.scrollMaxY) {
			rolagemH = document.body.scrollWidth;
			rolagemV = window.innerHeight + window.scrollMaxY;
		} else if (document.body.scrollHeight > document.body.offsetHeight){ 
			rolagemH = document.body.scrollWidth;
			rolagemV = document.body.scrollHeight;
		} else {
			rolagemH = document.body.offsetWidth;
			rolagemV = document.body.offsetHeight;
		}	
		if(rolagemV > alturaPag) {
			alturaPag = rolagemV;
			if(/Internet Explorer/.test(navigator.appName)) alturaPag+=30; 
		}
		if(rolagemH > larguraPag) larguraPag = rolagemH;
	}
	var valores = new Array(larguraPag,alturaPag); 
	return valores;
}
function fechaJanela(){
	$("quadro").style.display="none";
	$("fundo_img").style.display="none";	
	todasImagens = [];
	Atual = null;
	proxLink = null;
	antLink = null;	
}
function criaObjetos(){
	var medidas = pegaMedidas(true); 
	var larguraPag = medidas[0];
	var alturaPag = medidas[1];
	var objBody = document.getElementsByTagName("body").item(0);
	var objFundo = document.createElement("div");
	objFundo.setAttribute('id','fundo_img'); 
	objFundo.style.position="absolute"; 
	objFundo.style.top="0px";
	objFundo.style.left="0px";
	objFundo.style.width=larguraPag+"px";
	objFundo.style.height=alturaPag+"px";
	objFundo.style.background="#000";
	objFundo.style.zIndex=998;
	objFundo.style.MozOpacity=.4;
	objFundo.style.opacity=.4;
	objFundo.style.filter="Alpha(Opacity=40)";
	objBody.appendChild(objFundo);
	var objQuadroext = document.createElement("div");
	objQuadroext.setAttribute('id','quadro');
	objQuadroext.style.position="absolute";
	objQuadroext.style.border="solid 2px #CCC";
	objQuadroext.style.top="50%";
	objQuadroext.style.left="50%";
	objQuadroext.style.width="50px";
	objQuadroext.style.height="50px";
	objQuadroext.style.background="#FFF";
	objQuadroext.style.padding="5px";
	objQuadroext.style.zIndex=999;
	objBody.appendChild(objQuadroext);
	var objTopo = document.createElement("div");
	objTopo.setAttribute('id','topo_quadro');
	objTopo.style.display='none';	
	objTopo.style.width="100%";
	objTopo.style.height="25px";
	objTopo.style.position='relative';
	objQuadroext.appendChild(objTopo);	
	var objFechar = document.createElement("a");
	objFechar.setAttribute('id','Fechar');
	objFechar.setAttribute('href','javascript:void(0)');
	objFechar.style.position='absolute';
	objFechar.style.right='5px';
	objFechar.onclick = function() {
		$("quadro").style.display="none";
		$("fundo_img").style.display="none";
		return false;
	}
	objTopo.appendChild(objFechar);
	var objTitulo = document.createElement("span");
	objTitulo.setAttribute('id','titulo_quadro');
	objTitulo.style.fontWeight='bold';
	objTitulo.style.position='absolute';
	objTitulo.style.left='5px';
	objTopo.appendChild(objTitulo);	
	var objimgFechar = document.createElement("img");
	objimgFechar.setAttribute('id','imgFechar');
	objimgFechar.src='fechar.jpg';
	objimgFechar.alt='Fechar';
	objimgFechar.style.border='0';
	objFechar.appendChild(objimgFechar);
	var objImagemLoad = document.createElement("img");
	objImagemLoad.setAttribute('id','img_loading');
	objImagemLoad.src='loading.gif';
	objImagemLoad.style.position='absolute';
	objImagemLoad.style.left='50%';
	objImagemLoad.style.top='50%';
	objImagemLoad.style.margin='-17px 0 0 -17px';
	objQuadroext.appendChild(objImagemLoad);
	var objImagem = document.createElement("img");
	objImagem.setAttribute('id','img_maior');
	objImagem.style.display='none';
	objQuadroext.appendChild(objImagem);
	var objRodape = document.createElement("div");
	objRodape.setAttribute('id','rodape_quadro');
	objRodape.style.display='none';	
	objRodape.style.width="100%";
	objRodape.style.height="25px";
	objRodape.style.position='relative';
	objQuadroext.appendChild(objRodape);	
	var objAnterior = document.createElement("a");
	objAnterior.setAttribute('id','link_anterior');
	objAnterior.setAttribute('href','javascript:void(0)');
	objAnterior.style.position='absolute';
	objAnterior.style.left='5px';
	objAnterior.style.bottom='0';
	objAnterior.onclick = function() {
		preparaImg(todasImagens[antLink][1], todasImagens[antLink][2]);
		return false;
	}
	objRodape.appendChild(objAnterior);
	var objimgAnterior = document.createElement("img");
	objimgAnterior.setAttribute('id','imgAnterior');
	objimgAnterior.src='anterior.jpg';
	objimgAnterior.style.border='0';
	objAnterior.appendChild(objimgAnterior);
	var objPosterior = document.createElement("a");
	objPosterior.setAttribute('id','link_posterior');
	objPosterior.setAttribute('href','javascript:void(0)');
	objPosterior.style.position='absolute';
	objPosterior.style.right='5px';
	objPosterior.style.bottom='0';
	objPosterior.onclick = function() {
		preparaImg(todasImagens[proxLink][1], todasImagens[proxLink][2]);
		return false;
	}
	objRodape.appendChild(objPosterior);		
	var objimgPosterior = document.createElement("img");
	objimgPosterior.setAttribute('id','imgPosterior');
	objimgPosterior.src='posterior.jpg';
	objimgPosterior.style.border='0';
	objPosterior.appendChild(objimgPosterior);
}
function preparaImg(img, titulo){	
	var totalImgs = todasImagens.length;
	var Ultima = totalImgs-1;
	for(var i=0;i<totalImgs;i++){
		if(todasImagens[i][1]==img) Atual = i;
	}
	proxLink = Atual+1;
	antLink = Atual-1;
	if($("quadro")==null)	criaObjetos();
	else {
		$("quadro").style.display="";
		$("quadro").style.width="50px";
		$("quadro").style.height="50px";
		$("img_loading").style.display="";
		$("fundo_img").style.display="";
		$("img_maior").style.display="none";
		$("topo_quadro").style.display="none";
		$("rodape_quadro").style.display="none";
	}
	$("img_maior").onload=function(){
		$("img_loading").style.display="none";
		this.style.display="";
		var largura_quadro=this.offsetWidth;
		var altura_quadro=this.offsetHeight+50;
		centralizaObj(largura_quadro,altura_quadro);
		$("quadro").style.width=largura_quadro+"px";
		$("quadro").style.height=altura_quadro+"px";
		$("topo_quadro").style.display="";
		$("rodape_quadro").style.display="";
		$("titulo_quadro").innerHTML=titulo; // titulo do quadro
		if(Atual==0) {
			$("link_anterior").style.display="none";
			$("link_posterior").style.display="";
		}else if(Atual==Ultima){
			$("link_posterior").style.display="none";
			$("link_anterior").style.display="";
		}
		else {
			$("link_anterior").style.display="";
			$("link_posterior").style.display="";
		}
	}
	$("img_maior").onerror=function(){
		alert("Erro: Impossivel carregar a imagem");
		$("quadro").style.display="none";
		$("fundo_img").style.display="none";
		$("img_loading").style.display="none";
		$("img_maior").src='loading.gif';
	}	
	$("img_maior").src=img;
}
function ajustaQuadro(){
	// Aqui dá warning na hora que abre a janela, nessa linha de baixo.
	centralizaObj($("quadro").offsetWidth,$("quadro").offsetHeight);
	var medidas = pegaMedidas(true); 
	var larguraPag = medidas[0];
	var alturaPag = medidas[1];
	$("fundo_img").style.height = alturaPag+"px";
	$("fundo_img").style.width = larguraPag+"px";
}
function checaLinks(){
	preCarregarImgs();
	var todosLinks = document.getElementsByTagName("a"); 
	for (var i=0; i<todosLinks.length; i++){ 
			var cada_link = todosLinks[i]; 
			var atributo_rel = String(cada_link.getAttribute('rel')); 
			if (cada_link.getAttribute('href') && (atributo_rel.toLowerCase().match('aumenta'))){ 
				cada_link.onclick = function () { preparaImg(this.getAttribute('href'), this.getAttribute('title')); return false; } 
			}
	}	
}
window.onload=checaLinks; 
window.onresize=ajustaQuadro;

