
/*Funcao que gerencia a utilizacao de mascaras
  Recebe: o objeto do campo a ser mascarado e a funcao da mascara (cpf ou cnpj)
*/
function mascara(o,f){
    v_obj = o;
    v_fun = f;
    alert("Entrei 1");
    setTimeout("execmascara( v_obj, v_fun )",1);
}
/*
 Funcao que executa a mascara
 Substitui o valor do campo pelo valor com a mascara
*/
function execmascara( v_obj, v_fun ){
	alert("Entrei 2");
    v_obj.value = v_fun(v_obj.value);
}

function Valida_Data(componente){
	   var este = componente;
	   var retorno = false;
	   var dia = 0; var mes = 0; var ano=0;

	   if (este.value.length==0) retorno=true;
	   else if (este.value.length>=6){
	    // primeiro verifica se nenhum '/' foi digitado.
	    // em caso positivo acrescenta as barras
	    var posbarra=-1;
	    for(var posini=0; posini<este.value.length; posini++){
	      if (este.value.substring(posini,posini+1)=='/') {
			posbarra=posini;
			break;
		  }
	    }

	    // se nao encontrou, coloca as barras
	    if (posbarra<0){
		// se for dmyyyy
	      if (este.value.length==6) este.value = '0'+este.value.substring(0,1)+'/'+'0'+este.value.substring(1,2)+'/'+este.value.substring(2);
	      else if (este.value.length==7) este.value = este.value.substring(0,2)+'/'+'0'+este.value.substring(2,3)+'/'+este.value.substring(3);
	      else if (este.value.length==8) este.value = este.value.substring(0,2)+'/'+este.value.substring(2,4)+'/'+este.value.substring(4);
	    }

	    // recupera o dia
	    var posicao=0;posicao2=0;
	    while (posicao<este.value.length){
	      if (este.value.substring(posicao,posicao+1)=='/') break;
	      posicao++;
	    }
	    dia = (este.value.substring(0,posicao));
	    if (dia!='') dia = dia*1;

	    // recupera o mes
	    var posicao2=posicao+1;
	    while (posicao2<este.value.length){
	      if (este.value.substring(posicao2,posicao2+1)=='/') break;
	      posicao2++;
	    }
	    mes = (este.value.substring(posicao+1,posicao2));
	    if (mes!='') mes = mes*1;

	    // recupera o ano
	    ano = (este.value.substring(posicao2+1));
	    if (ano!='') ano = ano*1;

	    // define dia maximo do mes
	    var diaMaximoMes = 31;
	    if ((mes==4)||(mes==6)||(mes==9)||(mes==11)) diaMaximoMes = 30;
	    else if (mes==2){
	      if ((ano%4)==0) diaMaximoMes = 29;
	      else diaMaximoMes = 28;
	    }
	    retorno = ((este.value.length<=10)&&(dia>0)&&(dia<=diaMaximoMes)&&(mes>0)&&(mes<=12)&&(ano>=1880));
	   }
	   else retorno = false;
	   return retorno;
	}

	function somenteNumero(e){
	    var tecla = '';
	    if(navigator.appName.indexOf("Internet Explorer")>-1) { //it's IE 
	       if (e.keyCode<48 || e.keyCode>57)
	       return e.returnValue = false;
	    } else { // Mozilla
	       tecla = e.which; 
	    }
	    //alert(tecla);
	  if(((tecla > 47 && tecla < 58) || tecla==0)) return true;
	  else{
	  if (tecla != 8)return false;
	  else return true;
	  }
	}
	
	function removeCaracteres(campo){
		 var posicaoInicial = 0;
         var retorno = "";
         while (campo.value.length > posicaoInicial) {
             if ((campo.value.charCodeAt(posicaoInicial)> 47
            		 && campo.value.charCodeAt(posicaoInicial)< 58)|| 
            		 campo.value.charCodeAt(posicaoInicial)==0) {
                 retorno+= campo.value.charAt(posicaoInicial);
             }
             posicaoInicial++;
         }
         campo.value = retorno;
	}
	
	function removeTextoInicial(campo,idCampohidden){
		var texto = campo.value;
		var hidden = document.getElementById(idCampohidden);
		if(texto=="Escreva uma representação por linha." && hidden.value=="false" ){
			campo.value="";
			hidden.value=true;
			campo.style.color='#333333';
		}
	}
	
	function adicionaTextoInicial(campo,idCampohidden){
		var texto = campo.value;
		if(texto==""){
			document.getElementById(idCampohidden).value=false;
			campo.value="Escreva uma representação por linha.";
			campo.style.color='#C0C0C0';
			campo.blur();
		}
	}
	
    function getValordaTecla(evt) {
        var tecla;
        if (evt.which) { // Firefox
            tecla = evt.which;
        }
        else { // IE
            tecla = evt.keyCode;
        }
        return tecla;
  }
    
    function maxlengthTextarea(evt, campo, tamanho) {
      var tecla = getValordaTecla(evt);
      var isCaractereDeNavegacao = (tecla >= 33 && tecla <= 46) || tecla == 8 || tecla == 9;
      var qtdEnter = 0;
      if (tecla == 13) {
          qtdEnter++;
      }
      var retorno = isCaractereDeNavegacao || ((campo.value.length + qtdEnter) < tamanho);
      return retorno;
  }

  function verificaQuantidade(event, campo, i) {
   var qtdEnter = 0;
   var tamField = campo.value.length;
   var value = campo.value;
   if (/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent)) {
       var indice = -1;
       while ((indice = value.indexOf('\n', indice + 1)) != -1) {
           qtdEnter++;
       }
   }
   if (tamField + qtdEnter >= i) {
       campo.value = value.substring(0, i - qtdEnter);
       campo.scrollTop = 999999;
   }
   qtdEnter = 0;
}  


