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){
	nova_img = new Image();
	nova_img.onload=function(){
		total = img.length;
		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);
	medidas = pegaMedidas(false); 
	larguraPag = medidas[0];
	alturaPag = medidas[1];
	
	margemH = -1*(larg/2);
	limiteH = -1*(larguraPag/2);
	if(margemH<limiteH) margemH = limiteH+5;
	$("quadro").style.marginLeft=margemH+"px";
	
	margemY = -1*(alt/2);
	limiteY = -1*(alturaPag/2);
	if(margemY<limiteY) margemY = limiteY+5;
	$("quadro").style.marginTop=margemY+"px";	
}
function pegaMedidas(rolagem){
	var larguraPag, alturaPag;
	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;
	}
	valores = new Array(larguraPag,alturaPag); 
	return valores;
}
function criaObjetos(){
	medidas = pegaMedidas(true); 
	larguraPag = medidas[0];
	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='imagens/fechar.jpg';
	objimgFechar.alt='Fechar';
	objimgFechar.style.border='0';
	objFechar.appendChild(objimgFechar);
	
	var objImagemLoad = document.createElement("img");
	objImagemLoad.setAttribute('id','img_loading');
	objImagemLoad.src='imagens/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='imagens/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='imagens/posterior.jpg';
	objimgPosterior.style.border='0';
	objPosterior.appendChild(objimgPosterior);
}
function preparaImg(img, titulo){	
	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="";
		largura_quadro=this.offsetWidth;
		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;
		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='imagens/loading.gif';
	}	
	$("img_maior").src=img;
}
function ajustaQuadro(){
	centralizaObj($("quadro").offsetWidth,$("quadro").offsetHeight);
	medidas = pegaMedidas(true); 
	larguraPag = medidas[0];
	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;