//  Rodrigo Fante  - Versão 2.1.0.  Em caso de erros, sugestoes, peço que reportem para: fazedordesite@gmail.com ou pelo site: http://www.fazedordesite.com
var todasImagens = new Array;
var Atual = "";
var proxLink = "";
var antLink = "";
var slide=false;
var tempo=3000;
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=.7;
objFundo.style.opacity=.7;
objFundo.style.filter="Alpha(Opacity=70)"; 
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='js/botao_fechar.jpg';
objimgFechar.alt='Fechar';
objimgFechar.style.border='0';
objFechar.appendChild(objimgFechar);
//var objImagemLoad = document.createElement("img");
//objImagemLoad.setAttribute('id','img_loading');
//objImagemLoad.src='js/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='js/seta_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='js/seta_posterior.jpg';
objimgPosterior.style.border='0';
objPosterior.appendChild(objimgPosterior);
var objSlide = document.createElement("a");
objSlide.setAttribute('id','slide');
objSlide.setAttribute('href','javascript:void(0)');
objSlide.setAttribute('title','Clique para ativar o Slideshow');
objSlide.style.position='absolute';
objSlide.style.left='50%';
objSlide.style.bottom='2px';
objSlide.style.marginLeft='-70px';
objSlide.onclick = function() {
if(slide==false) slide = true;
else slide=false;
slideShow();
return false;
}	
//objSlide.innerHTML = "Modo Slideshow desativado";
objRodape.appendChild(objSlide);
}
function fadeIn(id, valor){
var obj = $(id);
if(!valor || valor == undefined) valor=0;
if(valor < 100){
valor+=5;
alpha = valor/100;
obj.style.MozOpacity=alpha;
obj.style.filter="alpha(opacity="+valor+")";
obj.style.opacity = alpha;
if(obj.style.display == "none") obj.style.display = "";
setTimeout("fadeIn('"+id+"',"+valor+")",1);
}
}
function slideShow(){
if(slide==true){
$("link_anterior").style.display="none";
$("link_posterior").style.display="none";	
totalImgs = todasImagens.length;
if(proxLink>=totalImgs) { proxLink = 0; antLink=-1; }
document.getElementById("slide").innerHTML = "Modo Slideshow ativado";
setTimeout("preparaImg(todasImagens[proxLink][1], todasImagens[proxLink][2], 'slideshow')",tempo);
setTimeout("slideShow()",tempo);
} else {
document.getElementById("slide").innerHTML = "Modo Slideshow desativado";
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="";
}
}
}
function preparaImg(img, titulo, tipo){
if(tipo==undefined) tipo = "ok";
if(tipo=="ok" || (tipo=="slideshow"&&slide==true)){
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";
fadeIn(this.getAttribute("id"));
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(tipo=="slideshow"){
$("link_anterior").style.display="none";
$("link_posterior").style.display="none";			
} else {
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(){
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;