function isAllDigits(argvalue) {
    argvalue = argvalue.toString();
    var validChars = '0123456789';
    for (var n=0; n<argvalue.length; n++) {
        if (validChars.indexOf(argvalue.substring(n, n+1)) == -1) return false;
    }
    return true;
}

function equalsIgnoreCase(arg1,arg2){
  if(arg1==arg2) return true;
  var aux1 = arg1.toString();
  var aux2 = arg2.toString();
  aux1 = arg1.toLowerCase();
  aux2 = arg2.toLowerCase();
  if(aux1==aux2) return true;
  else return false;
}

//Search through string's characters one by one.
//If character is not in bag, append to returnString.
function stripCharsInBag(s, bag){
    var i;
    var returnString = "";
    for (i = 0; i < s.length; i++){
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function trim(arg){
    return rtrim(ltrim(arg));
}

function ltrim(arg){
    var c;
    while(arg.length>0){
        c=arg.substring(0,1);
        if(c==' ' || c=='\t' || c=='\r' || c=='\n') arg = arg.substring(1);
        else break;
    }
    return arg;
}

function rtrim(arg){
    var c;
    while(arg.length>0){
        c=arg.substring(arg.length-1);
        if(c==' ' || c=='\t' || c=='\r' || c=='\n') arg = arg.substring(0,arg.length-1);
        else break;
    }
    return arg;
}

/*Validação de CPF/CNPJ*/
function validar(vCampo) {
    var s;
// inicio de verificacao de cnpj ou cpf
    if (vCampo.length == 0) {
        return false; 
    }

    s = limpa_string(vCampo);


// checa se é cpf
    if (vCampo.length == 11){
        return valida_CPF(s);
    }

// checa se é cgc
    else if (vCampo.length == 14) {
        return valida_CNPJ(s); 
    }
    else {
        return false;
    }

// final da verificacao de cnpj ou cpf
}
// fim da funcao validar()


function limpa_string(S){
// Deixa somoente os digitos no numero
    var Digitos = "0123456789";
    var temp = "";
    var digito = "";

    for (var i=0; i<S.length; i++) {
        digito = S.charAt(i);
        if (Digitos.indexOf(digito)>=0) {
            temp=temp+digito 
        }
    } //for

    return temp
}
// fim da funcao


function valida_CPF(s) {
    var i;
    s = limpa_string(s);
    var c = s.substr(0,9);
    var dv = s.substr(9,2);
    var d1 = 0;
    for (i = 0; i < 9; i++)
    {
        d1 += c.charAt(i)*(10-i);
    }
    if (d1 == 0) return false;
    d1 = 11 - (d1 % 11);
    if (d1 > 9) d1 = 0;
    if (dv.charAt(0) != d1)
    {
        return false;
    }

    d1 *= 2;
    for (i = 0; i < 9; i++)
    {
        d1 += c.charAt(i)*(11-i);
    }
    d1 = 11 - (d1 % 11);
    if (d1 > 9) d1 = 0;
    if (dv.charAt(1) != d1)
    {
        return false;
    }
    return true;
}

function valida_CNPJ(s)
{
    var i;
    s = limpa_string(s);
    var a = [];
    var b = new Number;
    var c = [6,5,4,3,2,9,8,7,6,5,4,3,2];
    var erro="";
    for (i=0; i<12; i++){
        a[i] = s.charAt(i);
        b += a[i] * c[i+1];
    }
    if ((x = b % 11) < 2) { a[12] = 0 } else { a[12] = 11-x }
    b = 0;
    for (y=0; y<13; y++) {
        b += (a[y] * c[y]);
    }
    if ((x = b % 11) < 2) { a[13] = 0; } else { a[13] = 11-x; }
    if ((s.charAt(12) != a[12]) || (s.charAt(13) != a[13])){
        erro +="O CNPJ informado é inválido! Por favor, verifique!";
    }
    if (erro.length > 0){
        return false;
    }
    return true
}

/**
    Valida Cuit(Argentina)
*/
function validaCuit(nro) {
	var soma;
	var resto;
	var verif;
	var pos = nro.split('');

	if (! /^\d{11}$/.test(nro)) return false;

	while (true) {
	    soma = (pos[0] * 5 + pos[1] * 4 + pos[2] * 3 +
	    pos[3] * 2 + pos[4] * 7 + pos[5] * 6 +
	    pos[6] * 5 + pos[7] * 4 + pos[8] * 3 + pos[9] * 2);
	    resto = soma % 11;
 //       alert(soma+"="+pos[0]+" * 5 + "+pos[1]+" * 4 + "+pos[2]+" * 3 + "+pos[3]+" * 2 + "+pos[4]+" * 7 + "+pos[5]+" * 6 + "+pos[6]+" * 5 + "+pos[7]+" * 4 + "+pos[8]+" * 3 + "+pos[9]+" * 2");
	    if (resto == 0) {
	        verif = 0;
		    break;
	    }
	    else if (resto == 1 && (pos[1] == 0 || pos[6] == 7)) {
	        pos[1] = 4;
		continue;
	    }
	    else {
		verif = 11 - resto;
		break;
	    }
	}
	return pos[10] == verif;
}
/**
    Valida CBU(Argentina)
*/
function validaCbu(nro) {
    var lcCbu, lcBloque1, lcBloque2;
    var msg;
    lcCbu=nro.replace(/[^0-9]/gi, "");
    if(lcCbu.length==22){
        lcBloque1=lcCbu.substr(0,8);
        lcBloque2=lcCbu.substr(8,14);
        if(!validaDigitoCbu(lcBloque1) || !validaDigitoCbu(lcBloque2)){
            return false;
        }
        return true;
    }else return false;
}
/**
    Valida dígito do CBU(Argentina)
*/
function validaDigitoCbu(tcBloque) {
    var pond="3179";//Ponderador
    var lnSoma, lnLargo, ln, lcDigito, lcBloque;
    lnSoma=0;
    lnLargo=tcBloque.length;
    lcDigito=tcBloque.substr(lnLargo-1, 1);
    lcBloque=tcBloque.substr(0, lnLargo-1);
    var j=0;
    for(ln=lnLargo-2;ln>=0;){
        var ind=j%4 ;
        lnSoma+=lcBloque.substr(ln,1) * pond.substr(ind,1);
        --ln;
        ++j;
    }
    var result;
    result=""+(10-(lnSoma % 10));

    return (lcDigito==result.substr(result.length-1,1));
}
function comparaDatas(data1, data2){ 
    var d1=data1.split('/');
    var d2=data2.split('/');
    //alert('d1=['+d1[0]+','+d1[1]+','+d1[2]+"]");
    //alert('d2=['+d2[0]+','+d2[1]+','+d2[2]+"]");
    dt1 = new Date(d1[2],d1[1],d1[0]);
    dt2 = new Date(d2[2],d2[1],d2[0]);
	
	//alert(dt1.getDay()+"/"+dt1.getMonth()+"/"+dt1.getYear());
	//alert(dt1+" - "+dt2);
	if(dt1>dt2){
	    return 1;
	}else if(dt1<dt2){
	    return 2;
	}else{
	    return 0;
	}
	
}

	// 
	// Método criado para verificação de campo numérico
	//
	// Retorno: 
	//          - false (campo não é somente numérico)
	//          - true  (campo somente numérico)
	//
	function isNumeric(campo) {
	
	  iPos = 0;
	  while (iPos < campo.value.length) {
	  
	    var cCode = campo.value.charCodeAt(iPos);
		if (cCode < 48 || cCode > 57 ) {
			return false;
	 	}
	    
	  	iPos++;
	  }
	  
	  return true;
	  
	}
	
    // Método para validar CheckBox
    function validaCheckbox(campos){ 
	    for(x = 0; x < campos.length; x++){ 
	        if (campos[x].checked){ 
	            return true; 
	        } 
	    } 
	    return false; 
    }
    
    // Método para validar CheckBox
    function validaTextArea(campo){ 
        var texto = campo.value;
        if (texto != null && texto.length > 0) {
            return true;
        }
        else {
            return false;
        }         
    }
    
    function validaLinhasTextArea(campo){   
        var texto = campo.value;
       	var arrTexto = texto.split("\n");
       	for (var i=0; i < arrTexto.length; i++){
       		if (!isLinhaValida(arrTexto[i])){
       			return false;
       		}
       	}
    }
        
    function isLinhaValida(texto){ 
    	texto = trim(texto);
    	if (texto.length < 2){
    		return false;
    	}
    	return true;
    }
    
    