function id(id) { var elemento = document.getElementById(id); return elemento; } lightbox = { contentBox : '', divBox : '', abrir : function(box, fadeColor){ if (fadeColor != null){ if (id('opacity')) { this.fechar(); } document.onkeyup = this.KeyCheck; var divOpacity = document.createElement("a"); var objBody = document.getElementsByTagName("body").item(0); if (fadeColor == undefined) { fadeColor="000000"; } divOpacity.setAttribute('id','opacity'); divOpacity.setAttribute('href','javascript:lightbox.fechar();'); divOpacity.style.cursor="default"; divOpacity.style.position="absolute"; divOpacity.style.zIndex=888; divOpacity.style.top="0px"; divOpacity.style.left="0px"; divOpacity.style.lineHeight="0px"; divOpacity.style.background="#"+fadeColor; divOpacity.style.width=this.pegaMedidas().pw+"px"; divOpacity.style.height=this.pegaMedidas().ph+"px"; divOpacity.style.MozOpacity=.0; // transparencia FF divOpacity.style.opacity=.0; // transparencia FF, Opera, Safari, Netscape divOpacity.style.filter="Alpha(Opacity=0)"; // transparencia IE objBody.appendChild(divOpacity); this.apagaCombos(); this.reexibeCombos(box); this.divBox = id(box); this.divBox.style.filter = 'alpha(opacity=0)'; this.divBox.style.opacity = '0'; this.divBox.style.display = ''; this.divBox.style.position = "absolute"; this.divBox.style.zIndex=999; this.divBox.style.top = this.pegaMedidas().sv + (this.pegaMedidas().wh - this.divBox.offsetHeight)/2 + "px"; this.divBox.style.left = this.pegaMedidas().sh + (this.pegaMedidas().ww - this.divBox.offsetWidth)/2 + "px"; if (navigator.userAgent.toLowerCase().indexOf('gecko/') != -1){ lightbox.OpacityInicia('opacity',16,0,80,box); }else{ lightbox.OpacityInicia('opacity',20,0,80,box); } }else{ this.apagaCombos(); this.reexibeCombos(box); this.divBox = id(box); //this.divBox.style.filter = 'alpha(opacity=0)'; this.divBox.style.opacity = '0'; this.divBox.style.display = ''; this.divBox.style.position = "absolute"; this.divBox.style.zIndex=999; this.divBox.style.top = this.pegaMedidas().sv + (this.pegaMedidas().wh - this.divBox.offsetHeight)/2 + "px"; this.divBox.style.left = this.pegaMedidas().sh + (this.pegaMedidas().ww - this.divBox.offsetWidth)/2 + "px"; if (navigator.userAgent.toLowerCase().indexOf('gecko/') != -1){ //id(box).style.display = ''; lightbox.OpacityInicia(box,16,0,100); }else{ id(box).style.display = ''; //IEPNGFix.fixpng(); //lightbox.OpacityInicia(box,20,0,100); } } }, KeyCheck : function (e) { var KeyID = (window.event) ? event.keyCode : e.keyCode; if (KeyID==27) { lightbox.fechar(); } }, fechar : function(){ if (id('opacity')){ this.removeElement('opacity'); } this.reexibeCombos(); this.divBox.style.display = 'none'; document.onkeyup = ''; }, Opacity_elemento : '', Opacity_tamanho_final : 0, Opacity_tamanho_atual : 0, Opacity_taxa : 0, OpacityInicia : function(elemento,taxa,inicio,fim,box){ this.Opacity_elemento = elemento; this.Opacity_taxa = taxa; this.Opacity_tamanho_final = fim; this.Opacity_tamanho_atual = inicio; this.OpacityAnima(box); }, OpacityAnima : function(box){ if(this.Opacity_tamanho_final!=this.Opacity_tamanho_atual){ if(this.Opacity_tamanho_final document.body.offsetHeight){ // Opera9, Mac 3 para windows entram aqui pageWidth = document.body.scrollWidth; pageHeight = document.body.scrollHeight; } else { //IE6, IE7, FF, Netscape entram aqui. pageWidth = document.body.offsetWidth; pageHeight = document.body.offsetHeight; } if(pageHeight < windowHeight){ pageHeight = windowHeight; }else { if(/Internet Explorer/.test(navigator.appName)) { pageHeight+=30; // corrigir bug IE } } /*if(pageWidth < windowWidth){ pageWidth = windowWidth; }*/ // Pega altura e largura do scroll var scrollH, scrollV; if (self.pageYOffset) { scrollV = self.pageYOffset; scrollH = self.pageXOffset; } else if (document.documentElement && (document.documentElement.scrollTop || document.documentElement.scrollLeft)){ // Explorer 6 Strict scrollV = document.documentElement.scrollTop; scrollH = document.documentElement.scrollLeft; } else if (document.body) {// all other Explorers scrollV = document.body.scrollTop; scrollH = document.body.scrollLeft; } return {pw:pageWidth,ph:pageHeight,ww:windowWidth,wh:windowHeight,sh:scrollH,sv:scrollV}; } }