function Foto(img){
  foto1= new Image();
  foto1.src=(img);
  Controlla(img);
}
function Controlla(img){
  if((foto1.width!=0)&&(foto1.height!=0)){
    viewFoto(img);
  }
  else{
    funzione="Controlla('"+img+"')";
    intervallo=setTimeout(funzione,20);
  }
}
function viewFoto(img){
  largh=foto1.width+20;
  altez=foto1.height+20;
  stringa="width="+largh+",height="+altez;
  finestra=window.open(img,"",stringa);
}

/* usar no onKeyUp: só deixa digitar numeros */
function soNumerosKeyUp( obj ){
   var sCadeia  = "0123456789";
   var conteudo = obj.value;
   var resp     = "";

   for (x=0; x < conteudo.length; x++) {
      var sCarac = conteudo.charAt(x);
      if (sCadeia.indexOf(sCarac)!=-1) resp += sCarac;
   }
   obj.value = resp;
   return true;
}

function verificaData(obj) {
   var sCadeia  = "0123456789";
   var conteudo = obj.value;
   var data     = "";

   //***** Desformata data (se tiver formatada)
   for (x=0; x < conteudo.length; x++) {
      var sCarac = conteudo.charAt(x);
      if (sCadeia.indexOf(sCarac)!=-1) data += sCarac
   }

   //***** Checa data
   var dia = data.substr(0,2);
   var mes = data.substr(2,2);
   var ano = data.substr(4,2);

   if (mes < 0 || mes > 12) {
      alert("Mês inválido!");
      obj.focus();
      return false;
   }
   if (mes == 2 && dia > 29) {
      alert("Dia inválido!");
      obj.focus();
      return false;
   }
   if (mes != 2 && dia > 31) {
      alert("Dia inválido!");
      obj.focus();
      return false;
   }
   if (mes==4 || mes==6 || mes==9 || mes==11) {
      if (dia > 30) {
         alert("Dia inválido!");
         obj.focus();
         return false;
      }
   }

   //** Formata Data
   if (conteudo.length > 0) obj.value = dia + "/" + mes + "/" + ano;
   return true;
}

function f_formata_data(obj) {
   var sConteudo = obj.value;
   var sAux = SoNumeros(sConteudo);
   if (sAux.length > 6) sAux = sAux.substr(0,6);
   obj.value = sAux;
}   

function SoNumeros(validar) {
   var strChar = "";

   for ( var intCont = 0 ; intCont <= validar.length ; intCont++ ) {
      if (((validar.charAt(intCont) >= "0") && (validar.charAt(intCont) <= "9"))) {
         strChar = strChar + validar.charAt(intCont);
      }
   }
   return strChar;
}

function desformata_numero(origem) {
   var resultado = "";
   var caractere = "";
   var t = origem.length;
   for (c=0; c < t; c++) {
      caractere = origem.charAt(c);
      if (caractere != ".") {
         if (caractere == ",") resultado += ".";
         else resultado += caractere;
      }
   }
   return resultado;
}

function f_formata_numero(obj,decimais) {
   var sCadeia   = "0123456789,";
   var sNumero   = obj.value;
   var sInteiros = "";
   var sDecimais = "";
   var sAux1     = "";
   var sAux2     = "";
   //** Deixa numero apenas com virgula
   for (x=0; x < sNumero.length; x++) {
      var sCarac = sNumero.charAt(x);
      if (sCadeia.indexOf(sCarac) != -1) sAux1 = sAux1 + sCarac;
   }
   sNumero = sAux1;
   sAux1 = "";
   //** Separa inteiros de decimais
   var bComma = false;
   for (x=0; x < sNumero.length; x++) {
      var sCarac = sNumero.charAt(x);
      if (sCarac == ",") bComma = true;
      else {
         if (!bComma) sInteiros = sInteiros + sCarac;
         if ( bComma) sDecimais = sDecimais + sCarac;
      }
   }
   //** Ajusta decimais para tamanho correto
   if (decimais > 0) {
      sDecimais = sDecimais + "000000000000000";
      sDecimais = sDecimais.substr(0,decimais)
   }
   //** Formata inteiros
   for (i = sInteiros.length; i > 0; i = i - 3) {
      if (i > 3) {
         sAux1 = "." + sInteiros.substring(i-3, i);
         sAux2 = sAux1 + sAux2;
      } else {
         sAux1 = sInteiros.substring(0, i);
         sAux2 = sAux1 + sAux2;
      }
   }
   sInteiros = sAux2;
   if (obj.value.length > 0) {
      if (decimais > 0) obj.value = sInteiros + "," + sDecimais;
      else              obj.value = sInteiros;
   }
}


function f_formata_data2(obj) {
   var sConteudo = obj.value;
   if( sConteudo.length == 2 || sConteudo.length == 5 )
      sConteudo += '/';
      
   var sAux = SoNumerosBarra(sConteudo);
   if (sAux.length > 10) sAux = sAux.substr(0,10);
   obj.value = sAux;
} 

function SoNumerosBarra(validar) {
   var strChar = "";

   for ( var intCont = 0 ; intCont <= validar.length ; intCont++ ) {
      if (((validar.charAt(intCont) >= "0") && (validar.charAt(intCont) <= "9")) || (validar.charAt(intCont) == "/")) {
         strChar = strChar + validar.charAt(intCont);
      }
   }
   return strChar;
}
function verificaData2(obj) {
   var sCadeia  = "0123456789/";
   var conteudo = obj.value;
   var data     = "";

   //***** Desformata data (se tiver formatada)
   for (x=0; x < conteudo.length; x++) {
      var sCarac = conteudo.charAt(x);
      if (sCadeia.indexOf(sCarac)!=-1) data += sCarac
   }

   //***** Checa data
   var dia = data.substr(0,2);
   var mes = data.substr(3,2);
   var ano = data.substr(6,4);

   if (mes < 0 || mes > 12) {
      alert("Mês inválido!");
      obj.focus();
      return false;
   }
   if (mes == 2 && dia > 29) {
      alert("Dia inválido!");
      obj.focus();
      return false;
   }
   if (mes != 2 && dia > 31) {
      alert("Dia inválido!");
      obj.focus();
      return false;
   }
   if (mes==4 || mes==6 || mes==9 || mes==11) {
      if (dia > 30) {
         alert("Dia inválido!");
         obj.focus();
         return false;
      }
   }

   //** Formata Data
   if (conteudo.length > 0) obj.value = dia + "/" + mes + "/" + ano;
   return true;
}