//Popup que se redimensiona automaticamente conforme as dimensões da imagem
//Esteja a vontade para remover todos os comentarios, menos a linha abaixo:
//(c) 2001 - Luciano Lourenço de Souza Almeida (dark.man@mailbr.com.br)

// Permitida copia e alteração desde que em carater gratuito e citada a fonte.
//Testado com sucesso no Internet Explorer 5.5 e Opera 5.12


//A função imgPop eh usadas pelo documento que CHAMA a janela:

//imgPop (imagem,titulo, legenda, imglink)

//Parametros de entrada:
//imagem - URL do arquivo da imagem (item obrigatorio)
//titulo - Opcional. Titulo da janela. Na ausencia deste parâmetro, é usado "Imagem: "+ nome-do-arquivo
//legenda - Opcional. Pequeno texto que será apresentado logo em baixo da janela, e na etiqueta da imagem.
//imglink - Opcional. Um link que se abrirá em uma nova janela caso a imagem seja clicada. Na sua ausencia, fecha a janela.
//URIjanela - Variavel global, contem a URI do documento que contem as imagens

//Saida:
//Nova janela, com o endereco do documento que abre a imagem, acrescido dos parametros para a montagem deste documento

//Variaveis:
//caracteristicas: string contendo os parametros da janela
//udfd: um "resumo" para a string 'undefined'
//parametros: uma string concatenando as variaveis a serem passadas para a janela pop-up


function imgPop(imagem,titulo,legenda,imglink)
 {
  
  //As caracteristicas da janela pop-up estao definidas abaixo:
 
  var caracteristicas='resizable=yes,scrollbars=no,menubar=no,toolbar=no,location=no';


  //Caso algum parametro da funcao seja omitido, será interpretado pelo navegador como 'undefined'
  //Os testes condicionais a seguir verificam se algum parametro foi omitido, e aplica o tratamento adequado
  
  var udfd='undefined';

  if (titulo+''==udfd)
   {
    titulo='Imagem: '+ imagem;
   }

  if (legenda+''==udfd)
   {
    legenda='';
   }

  if (imglink+''==udfd)
   {
    imglink='';
   }

   //Concatenamos todas as variaveis numa unica string:

   var parametros= 'imagem="'+imagem+'"\;titulo="'+titulo+'"\;legenda="'+legenda+'"\;imglink="'+imglink+'"'+'\;bidu="z.htm"';
  
  //Aqui abrimos efetivamente a janela. Note que juntamos o caractere '?'ao endereco, juntamente com todas as variaveis concatenadas.

  nova=window.open(URIjanela+'?'+parametros,'Imagem', caracteristicas); 

 }


//As funcoes abaixo sao usadas pela nova janela, cujo documento carrega a imagem:
//decodificaVariaveis()
//escreveDocumento()
//redimensiona()


//decodificaVariaveis()
//Esta funcao quebra a URL em variaveis capazes de serem lidas via JAVASCRIPT.
//Eh um metodo interessante e rapido de se passar variaveis para outros documentos, sem ter de recorrer a cookies ou outros metodos mais complexos.
//Adicionalmente, tambem escreve o titulo do documento.

//Parametros de entrada: A propria URL da janela

//Saida: sequencia de variaveis decodificadas da URL do documento
 
function decodificaVariaveis()
 {

  var vrv=window.location.search;
  eval(unescape(vrv.substring(vrv.indexOf('?')+1)));
  target='target="_blank"'

  if (imglink=='')
   {
    imglink='javascript:self.close()';
    target='';
   }

  document.write('<title>'+titulo+ '</title>');
 }



//A funcao escreveDocumento() escreve o documento, de acordo com os parametros obtidos das variaveis obtidas na funcao decodificaVariaveis()
// Foi colocada em separado para permitir a modificacao do corpo do documento.

//Entrada: variaveis globais: imagem, legenda e imglink

//Saida: TAGs HTML correspondentes a imagem, hiperlink e texto de legenda.


function escreveDocumento()
 {
  document.write('<table cellpadding=0 cellspacing=0 border=0 width=100% height=100%><tr><th><A href="'+imglink+'" '+target+'><img name="img" border=0 src="'+imagem+'" alt="'+legenda+ '"></A><BR><BR><font face="Verdana, Arial, Helvetica, sans-serif" size=2>'+legenda+'</font></th></tr></table>');
 }


//A funcao redimensiona(), que e executada apos a carga completa do documento, redimensiona a janela e coloca esta em primeiro plano para o usuario.

//Entrada: Propriedades width e height da imagem "img"

//Variaveis:
//margemVertical - contem a margem (em pixels), a ser dividida entre o topo e o rodape do documento.
//margemHorizontal - contem a margem (me pixels) a ser dividida entre os lados esquerdo e direito.

function redimensiona()
 {
//55
  var margemVertical=100; //determina a margem vertical, em pixels a ser usada. A margem leva em consideracao a altura da barra de titulo, e as bordas da janela
  
  //Caso haja uma legenda, a margem vertical deve ser um pouco maior, o que e determinado pelo teste abaixo:

  if (legenda!='')
   { //65
    margemVertical=140;
   }
//30
  var margemHorizontal=30; //Valor da margem horizontal.
 
  window.resizeTo(margemHorizontal + parseInt(document.img.width), margemVertical + parseInt(document.img.height)); //redimensiona a janela com base nas propriedades da imagem

 window.focus(); //Coloca a janela em primeiro plano.

}

