function amplia(img, imprimir){
  var ptr = "";
  if(imprimir!=null && imprimir!='undefined' && imprimir)
    ptr += "&print=true";
  window.open("ampliaImg.php?foto="+img+ptr,"","width=1,height=1,top=0,left=0")
  void(0);
}

function checa(obj, focou, padrao){
  if(focou){
    if(obj.value==padrao)
      obj.value='';
     else
       obj.select();
  } else {
    if(obj.value=='')
    obj.value=padrao;
  }
}

function abreInstalacao(id){
  if(bloqueadorPopUpAtivo())
    window.open("popup.php?pg=galeria&id="+id+"&ops=instalacoes", "centro");
  self.focus();
  window.open("galeriaflash.php?id="+id+"&tipo=instalacoes","instalacoes","width=10,height=10,top=0,left=0,scrollbars=1");
  void(0);
}

function checkSearch(){
  var erro = '';
  var focou = false;
  var objFocus = null;
  var form = document.getElementById('formBusca');

  if(form.arg.value.length == 0){
    erro += "  - Preencha o nome do produto a ser pesquisado\n";
    if(!focou){
      focou = true;
      objFocus = form.arg;
    }
  }

  if(erro!=''){
    alert("Corrija o(s) seguinte(s) erro(s):\n" + erro);
    objFocus.focus();
    return void(0);
  } else {
    form.submit();
    return void(0);
  }
}

function bloqueadorPopUpAtivo(){
  var b;
  var j = window.open('', '', 'width=1,height=1,left=0,top=0,scrollbars=no');
  if(j){
    b = false;
    j.close();
  } else
    b = true;

  return b;
}

function txtBoxFormat(objeto, sMask, evtKeyPress) {
     var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;

     if(document.all) { // Internet Explorer
       nTecla = evtKeyPress.keyCode; }
     else if(document.layers) { // Nestcape
       nTecla = evtKeyPress.which;
     }

     sValue = objeto.value;

     // Limpa todos os caracteres de formatação que
     // já estiverem no campo.
     sValue = sValue.toString().replace( "-", "" );
     sValue = sValue.toString().replace( "-", "" );
     sValue = sValue.toString().replace( ".", "" );
     sValue = sValue.toString().replace( ".", "" );
     sValue = sValue.toString().replace( "/", "" );
     sValue = sValue.toString().replace( "/", "" );
     sValue = sValue.toString().replace( ":", "" );
     sValue = sValue.toString().replace( ":", "" );
     sValue = sValue.toString().replace( "(", "" );
     sValue = sValue.toString().replace( "(", "" );
     sValue = sValue.toString().replace( ")", "" );
     sValue = sValue.toString().replace( ")", "" );
     sValue = sValue.toString().replace( " ", "" );
     sValue = sValue.toString().replace( " ", "" );
     fldLen = sValue.length;
     mskLen = sMask.length;

     i = 0;
     nCount = 0;
     sCod = "";
     mskLen = fldLen;

     while (i <= mskLen) {
       bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/") || (sMask.charAt(i) == ":"))
       bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " "))

       if(bolMask) {
         sCod += sMask.charAt(i);
         mskLen++; }
       else {
         sCod += sValue.charAt(nCount);
         nCount++;
       }

       i++;
     }

     objeto.value = sCod;

     if(nTecla != 8) { // backspace
       if(sMask.charAt(i-1) == "9") { // apenas números...
         return ((nTecla > 47) && (nTecla < 58)); } // números de 0 a 9
       else { // qualquer caracter...
         return true;
       } }
     else {
       return true;
     }
}

function mudaFocoBySize(objOrigem, objDestino, intSize, e){
  //se a tecla for tab ou shift faz nada
  if(e!=null && document.all && (e.keyCode == 9 || e.keyCode == 16)) // Internet Explorer
    return true;
  else if(e!=null && document.layers && (e.keyCode == 9 || e.keyCode == 16)) // Nestcape
    return true;

  var tam = Number(objDestino.value.length);

  if(objOrigem.value.length == intSize){
    if(tam > 0 && objDestino.type == "text")
      objDestino.select();
    else
      objDestino.focus();
  } else if(objOrigem.value.length > intSize){
    objOrigem.value = objOrigem.value.substring(0, intSize);
    if(tam > 0 && objDestino.type == "text")
      objDestino.select();
    else
      objDestino.focus();
  }
  return true;
}

function number_format(obj, onlyInteger){
  var newValue = '';
  var curChar;
  var valid = /^[0-9]$/;
  var isDotted = false;
  var oi = onlyInteger == null ? false : onlyInteger;
  for(var i = 0; i < obj.value.length; i++){
    curChar = obj.value.substring(i, i+1);
    if((curChar == ',' || curChar == '.') && !isDotted && !oi){
      newValue += '.';
      isDotted = true;
    } else if(valid.test(curChar))
      newValue += curChar;
  }
  if(!isDotted && newValue.length > 0 && !oi)
    newValue += ".00";
  obj.value = newValue;
}

function LTrim(value) {  
  var re = /\s*((\S+\s*)*)/;
  return value.replace(re, "$1");
}

function RTrim(value) {
  var re = /((\s*\S+)*)\s*/;
  return value.replace(re, "$1");
}

function trim(value) {
  return LTrim(RTrim(value));
}

function checkdate(month, day, year){

  var intDay = parseInt(day, 10);
  var intMonth = parseInt(month, 10);
  var intYear = parseInt(year, 10);
  var checkYear = year != null && year != undefined;
  var arrMeses = new Array("Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro");
  var error = "";

  if (intMonth>12 || intMonth<1) {
    error += "  - Mês fora do intervalo esperado (Jan a Dez)\n";
  }

  if ((intMonth == 1 || intMonth == 3 || intMonth == 5 || intMonth == 7 || intMonth == 8 || intMonth == 10 || intMonth == 12) && (intDay > 31 || intDay < 1)) {
    error += "  - Dia fora do intervalo esperado para o mes \""+arrMeses[intMonth-1]+"\"\n";
  } else if ((intMonth == 4 || intMonth == 6 || intMonth == 9 || intMonth == 11) && (intDay > 30 || intDay < 1)) {
    error += "  - Dia fora do intervalo esperado para o mes \""+arrMeses[intMonth-1]+"\"\n";
  } else if (intMonth == 2) {
    if (intDay < 1) {
      error += "  - Dia fora do intervalo esperado para o mes \""+arrMeses[intMonth-1]+"\"\n";
    } else if(checkYear) {
      if(LeapYear(intYear) == true) {
        if (intDay > 29) {
          error += "  - Dia fora do intervalo esperado para o mes e ano esperado "+arrMeses[intMonth-1]+"/"+intYear+"\n";
        }
      } else {
        if (intDay > 28) {
          error += "  - Dia fora do intervalo esperado para o mes e ano esperado "+arrMeses[intMonth-1]+"/"+intYear+"\n";
        }
      }
		} else {
      if (intDay > 29) {
        error += "  - Dia fora do intervalo esperado para o mes \""+arrMeses[intMonth-1]+"\"\n";
      }
		}
  }

  return error;

}

function LeapYear(intYear) {
  return ((intYear % 100 == 0 && intYear % 400 == 0) || (intYear % 4 == 0));
}

