function nvl(pvalor,pdefault) {
   //var vdefault =s (isNull(pdefault)?"":pdefault);
   if(isNull(pvalor) || pvalor==''){
	 return pdefault;
   }
   else{
	 return pvalor
   }
   //return (isNull(pvalor)?vdefault:pvalor);
}

function ltrim(ptexto) {
   var i = 0;
   
   while (i<ptexto.length && ptexto.charAt(i)== " ") {
      i++;
   }

   return (ptexto.substring(i,ptexto.length));      
}

function rtrim(ptexto) {
   var i = ptexto.length-1;
   
   while (i>0 && ptexto.charAt(i) == " ") {
      i--;
   }
   
   return (ptexto.substring(0,i+1));
}

function trim(ptexto) {
   return ltrim(rtrim(ptexto));
}

function stripChars(ptexto,pchars) {
   var vtexto = "";
   ptexto = ""+ptexto;
   
   for(i=0;i<ptexto.length;i++) {
      vtexto+= (pchars.indexOf(ptexto.charAt(i))>=0?"":ptexto.charAt(i) );
   }
   return vtexto;
}

function replaceChar(ptexto,pos_char,str_new) {
   return ptexto.substring(0,pos_char) +
          str_new +
          ptexto.substring(pos_char+1,ptexto.length);
}

function formatMoney(pvalor) {

   var vl_round = ""+Math.round(pvalor*100);

   var vint = vl_round.substring(0,vl_round.length-2);
   if (vint==0) {
      vint = "0";
   }
   else {
      vaux = vint;
      vint = "";
      while (vaux.length>3) {
         vint = vaux.substring(vaux.length-3,vaux.length)+ (vint!=""?".":"") +vint;
         vaux = vaux.substring(0,vaux.length-3);
      }

      if (vaux!="") 
         vint = vaux + (vint!=""&&vaux!="-"?".":"") + vint;
   }

   var vfrac = vl_round.substring(vl_round.length-2,vl_round.length);

   if (vfrac.length<2) {
      vfrac = "0"+vfrac;
   }

   return vint+","+vfrac;
}

function DateSerial(pdata) {
   if (!isDate(pdata))
      return -1;
   
   var dia = pdata.substring(0,2);
   var mes = pdata.substring(3,5);
   var ano = pdata.substring(6,10);
   
   return (parseInt(ano+mes+dia,10));
}

function ShortDateSerial(pdata) {
   var mes = pdata.substring(0,2);
   var ano = pdata.substring(3,7);
   
   return (parseInt(ano+mes,10));
}

function USDateSerial(pdata) {
   var mes = pdata.substring(0,2);
   var dia = pdata.substring(3,5);
   var ano = pdata.substring(6,10);
   
   return (parseInt(ano+mes+dia,10));
}


function TimeSerial(ptime) {
   var hora = parseInt(ptime.substring(0, 2),10);
   var minuto = parseInt(ptime.substring(3, 5),10);
   var segundo = parseInt(ptime.substring(6, 8),10);
   
   return parseInt(hora*3600+minuto*60+segundo,10);
}

function ShortTimeSerial(pshorttime) {
   var hora = parseInt(pshorttime.substring(0, 2),10);
   var minuto = parseInt(pshorttime.substring(3, 5),10);
   
   return parseInt(hora*3600+minuto*60,10);
}

function formatMoneyUSD(pvalor) {
   var vl_round = ""+Math.round(pvalor*100);

   var vint = vl_round.substring(0,vl_round.length-2);
   if (vint==0) {
      vint = "0";
   }

   var vfrac = vl_round.substring(vl_round.length-2,vl_round.length);

   if (vfrac.length<2) {
      vfrac = "0"+vfrac;
   }

   return vint+"."+vfrac;
}
