function FormataValor(campo,tammax,teclapres) {
	var tecla = teclapres.keyCode;
	vr = campo.value;
	vr = vr.replace( "/", "" );
	vr = vr.replace( "/", "" );
	vr = vr.replace( ",", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	tam = vr.length;

	if (tam < tammax && tecla != 8){ tam = vr.length + 1 ; }

	if (tecla == 8 ){	tam = tam - 1 ; }
		
	if ( tecla == 8 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105 ){
		if ( tam <= 2 ){ 
	 		campo.value = vr ; }
	 	if ( (tam > 2) && (tam <= 5) ){
	 		campo.value = vr.substr( 0, tam - 2 ) + ',' + vr.substr( tam - 2, tam ) ; }
	 	if ( (tam >= 6) && (tam <= 8) ){
	 		campo.value = vr.substr( 0, tam - 5 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ) ; }
	 	if ( (tam >= 9) && (tam <= 11) ){
	 		campo.value = vr.substr( 0, tam - 8 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ) ; }
	 	if ( (tam >= 12) && (tam <= 14) ){
	 		campo.value = vr.substr( 0, tam - 11 ) + '.' + vr.substr( tam - 11, 3 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ) ; }
	 	if ( (tam >= 15) && (tam <= 17) ){
	 		campo.value = vr.substr( 0, tam - 14 ) + '.' + vr.substr( tam - 14, 3 ) + '.' + vr.substr( tam - 11, 3 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ) ;}
	}		
	
}

function FormataData(mydate)
{
  var s;
  var str = new String (mydate);
  s = str.split (/[\\\-/]/);
  if (s.length != 3)
    return "";
  else
    return s[1] + "/" + s[0] + "/" + s[2];
}

function is_NULL (param)
{
	return (param=="");
}

function isNum() 
{
	if((event.keyCode < 48 && event.keyCode != 8) || event.keyCode > 57 )
	{
		event.keyCode = 0;
		event.returnValue=false; 
	}
}

function is_Date (date)
{
  if (date.length > 10 || date.length < 8)
  {
    return false;
  } 
  else
  {
    if (date.search (/[0-9]{1,2}[\\\-/][0-9]{1,2}[\\\-/][0-9]{4}/) == -1)
    {
      return false;
    }
    else
    {
      var s, d;
      s = date.split (/[\\\-/]/);
      d = new Date ();
      
        var numdays;
		var nummonth;
		
		nummonth = 12;
		
        if (s[1].search (/(01)|(1)|(03)|(3)|(05)|(5)|(07)|(7)|(08)|(8)|(10)|(12)/) != -1)
        {
          numdays = 31;
        }
        else if (s[1].search (/(04)|(4)|(06)|(6)|(09)|(9)|(11)/) != -1)
        {
          numdays = 30;
        }
        else if (s[1].search (/(02)|(2)/) != -1)
        {
          if ((s[2] % 4 == 0) && ((s[2] % 100 != 0) || (s[2] % 400 == 0)))
          {
            numdays = 29;
          }
          else
          {
            numdays = 28;
          }
        }
        else
        {
          return false;
        }

        if (s[1] < 1 || s[1] > nummonth || s[0] < 1 || s[0] > numdays)
        {
          return false;
        }
        else
        {
          return true;
        } 
    }
  }
}

function FormatDateFromPortugueseToEnglish (date)
{
  var s;
  s = date.split (/[\\\-/]/);
  if (s.length != 3)
    return "";
  else
    return s[1] + "/" + s[0] + "/" + s[2];
}

function FormatMoneyFromPortugueseToEnglish (money)
{
  money = money.replace (/\./g, "***");
  money = money.replace (/,/g, ".");
  return money.replace (/\*{3}/g, ",");
}

function is_Money (money)
{
  if (money.search (/^[0-9]{1,3}(\.[0-9]{3})*,[0-9]{2}$/) == -1)
  {
    return false;
  }
  else
  {
    return true;
  }
}

function is_Email (email)
{
  if (email.length < 5)
  {
    return false;
  }
  else
  {
    if (email.search (/@[a-zA-Z0-9_\-]+\./) == -1 || 
        email.search (/^[a-zA-Z0-9_\-]/) == -1 || email.search (/[a-zA-Z_\-]$/) == -1 ||  
        email.search (/(@.*@)|(@\.)|(\.@)|[!#$%^&*()=+{}|\[\]\\:;"'<>,?/]|(\.\.)/) != -1)
    {
      return false;
    }
    else
    {
      return true;
    }
  }
}

function is_ZipCode (zip)
{
  if (zip.length < 9)
  {
    return false;
  }
  else
  {
    if (zip.search (/[0-9]{5}\-[0-9]{3}/) == -1)
    {
      return false;
    }
    else
    {
      return true;
    }
  }
}

function is_Telephone (tel)
{
  return true;
}

function is_CNPJ (CNPJ)
{
  var first = 0, second = 0, i = 0, digit = 0;

  for (i = 1; i <= 12; i++) 
  {
    digit = parseInt (CNPJ.charAt(i-1), 10);
    first += digit * (i > 4 ? 14 - i : 6 - i);
    second += digit * (i > 5 ? 15 - i : 7 - i);
  }
    
  first = first % 11
  first = (first < 2) ? 0 : (11 - first);
    
  second = (second + 2 * first) % 11;
  second = (second < 2) ? 0 : (11 - second);
    
  return (CNPJ.substr(12, 2) == (first.toString() + second.toString())) ;
}

function is_CNPF (CNPF)
{    
  var first = 0, second = 0, i = 0, digit = 0;
  
  if (CNPF.search (/0{11}|1{11}|2{11}|3{11}|4{11}|5{11}|6{11}|7{11}|8{11}|9{11}/) != -1)
  {
    return false;
  }
    
  for (i = 1; i <= 9; i++) 
  {
    digit = parseInt (CNPF.charAt(i-1), 10);
    first += digit * (11 - i);
    second += digit * (12 - i);
  }
    
  first = first % 11;
  first = (first < 2) ? 0 : (11 - first) ;
    
  second = (second + 2 * first ) % 11 ;
  second = (second < 2) ? 0 : (11 - second) ;
    
  return (CNPF.substr(9, 2) == (first.toString() + second.toString())) ;
}

function is_Pis_Pasep (pis)
{
	return (pis != "");
}

function format_money (money)
{
  var s = money.replace (/\./g, "@@@");
  s = s.replace (/,/g, ".");
  s = s.replace (/@@@/g, ",");
  return s;
}

function ajustar_data(input)
{
	if (event.keyCode != 13 ){
      if ((event.keyCode<48)||(event.keyCode>57)){
		event.returnValue = false; 
	  }else{ 
		if ((input.value.length==2)||(input.value.length==5))
			input.value=input.value + "/" ;
	  }
	};
}

function ajustar_valor(input)
{
	if ((event.keyCode<48)||(event.keyCode>57)){
		event.returnValue = false; 
		} else { 
		if ((input.value.length==3)||(input.value.length==5))
			input.value=input.value + "," ;
	}
}

function ajustar_cep(input)
{
	if ((event.keyCode<48)||(event.keyCode>57)){
		event.returnValue = false; 
		} else { 
		if (input.value.length==5)
			input.value=input.value + "-" ;
	}
}

function ajustar_hora(input)
{
	if ((event.keyCode<48)||(event.keyCode>57)){
		event.returnValue = false; 
		} else { 
		if (input.value.length==2)
			input.value=input.value + ":" ;
	}
}

function ajustar_percentual(input)
{
	if ((event.keyCode<48)||(event.keyCode>57)){
		event.returnValue = false; 
		} else { 
		if (input.value.length==2)
			input.value=input.value + "," ;
	}
}

function imprimir(){
  window.print();
}

function imprime()
{
version=0
if (navigator.appVersion.indexOf("MSIE")!=-1){
temp=navigator.appVersion.split("MSIE")
version=parseFloat(temp[1])
}
if (version>=5.5) setTimeout("imprimir()",2000);
}

function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_validateForm() { //v4.0
  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
    if (val) { nm=val.name; if ((val=val.value)!="") {
      if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
        if (p<1 || p==(val.length-1)) errors+='- '+nm+' deve ser um email válido.\n';
      } else if (test!='R') { num = parseFloat(val);
        if (isNaN(val)) errors+='- '+nm+' deve ser preenchido com um número.\n';
        if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
          min=test.substring(8,p); max=test.substring(p+1);
          if (num<min || max<num) errors+='- '+nm+' deve conter um número entre '+min+' e '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' é obrigatório.\n'; }
  } if (errors) alert('Ocorreram os seguinte(s) erro(s):\n'+errors);
  document.MM_returnValue = (errors == '');
}