

//VERIFICA SE E DATA
function isDate(strdata){
	//se esta em branco, ok
	if (strdata == '') {
		return true;
	}
	//se esta dividido em tres partes separadas por / ou - , ok
	var data = strdata.split("/");
	if(data.length!=3){
		data = strdata.split("-");
		if(data.length!=3){
			return false;
		}
	}
	//se o ano e um numero, ok
	var ano = parseInt(data[2],10);
	if((isNaN(ano)) || (ano <= 0) || (ano > 9999)){
		return false;
	}
	//se mes e um numero, ok
	var mes = parseInt(data[1],10);
	if((isNaN(mes)) || (mes <= 0) || mes > 12){
		return false;
	}
	//se o dia e um numero, ok
	var dia = parseInt(data[0],10);
	if((isNaN(dia)) || (dia <= 0) || (dia > 31)){
		return false;
	}
	//verifico nos meses com 30 dias, se o dia e menor que 30
	if((mes == 2) || (mes == 4) || (mes == 6) || (mes == 9) || (mes == 11)){
		if(dia > 30){
			return false;
		}
	}
	//verifico se o ano e bissexto, se for, verifico se a data e menor que 29
	//se nao for bissexto, verifico se a data e menor que 28
	if((ano / 4 == Math.round(ano / 4))){
		if ((mes == 2) && (dia > 29)){
			return false;
		}
	}else{
		if((mes == 2) && (dia > 28)){
			return false;
		}	
	}
	return true;
}


//Compara datas
function compareDate(data1, data2){
	
	var vet_data1 = data1.split("/");
	var vet_data2 = data2.split("/");

	var ano1 = parseInt(vet_data1[2],10);
	var mes1 = parseInt(vet_data1[1],10);
	var dia1 = parseInt(vet_data1[0],10);

	var ano2 = parseInt(vet_data2[2],10);
	var mes2 = parseInt(vet_data2[1],10);
	var dia2 = parseInt(vet_data2[0],10);

	if (ano1 > ano2) {
		return false;
	}else{

		if ((ano1 >= ano2) && (mes1 > mes2)) {
			return false;
		}else{
			if ((ano1 >= ano2) && (mes1 >= mes2) && (dia1 > dia2)) {
				return false;
			}
		}
	}

	return true;
}


//Verifica se a string é um número inteiro
function isInt(j_str){
	
	if((String(parseInt(j_str)).length == String(j_str).length) || j_str=="")
		return true;
	
	return false;
}


//Verifica se a string é um número inteiro ou float
function isNumber(j_str){
	
	//se for inteiro ou estiver em branco
	if((String(parseInt(j_str,10)).length == String(j_str).length) || j_str=="")
		return true;
	
	j_str = top.replaceStr(j_str,".","");
	j_str = top.replaceStr(j_str,",",".");
	//se for float
	if((String(parseFloat(j_str)).length == String(j_str).length) || j_str=="")
		return true;
	//if((String(parseFloat(j_str,10)).length == String(j_str.substring(0, j_str.indexOf(","))).length) && (String(parseInt(j_str.substring(j_str.indexOf(",")+1, j_str.length),10)).length == String(j_str.substring(j_str.indexOf(",")+1, j_str.length)).length)){
	
	//se não for número
	return false;
}


//Verifica se e numerico
function _isNumber(vlr_val_cus){
	
	var vlr_val_cus_aux = 0;
	
	//VALIDA NUMERO
	if (isNaN(vlr_val_cus)) {
		
		if (vlr_val_cus.indexOf(",") != -1) {
			
			vlr_val_cus_aux = vlr_val_cus.substring(0, vlr_val_cus.indexOf(",")) + "." + vlr_val_cus.substring(vlr_val_cus.indexOf(",") + 1, vlr_val_cus.length);
			
			if (isNaN(vlr_val_cus_aux)) {
				return false;
			} else {
				return true;
			}
			
			
		} else {
		
			return false;
		}
		
	} else {
		return true;
	}
	//FIM VALIDA NUMERO
}


//verifica se o campo esta vazio
function isEmpty(j_conteudo){
	
	if(j_conteudo!=null && j_conteudo != ''){
		return false;
	}
	return true;
	
}


//
function compara_campos(conteudo1, conteudo2, rotulo1, rotulo2) {

	var j_conteudo1 = conteudo1
	var j_conteudo2 = conteudo2
	var j_rotulo1 = rotulo1
	var j_rotulo2 = rotulo2

	if (j_conteudo1 != conteudo2) {

		alert ("O conteúdo do campo " + j_rotulo2 + " deve ser igual ao do campo " + j_rotulo1);
		return false;
	}

	return true;
}


//
function tamanho_senha(tamanho, rotulo) {

	var j_tamanho = tamanho;
	var j_rotulo = rotulo;

	if (j_tamanho < 5) {

		alert ("O campo " + j_rotulo + " deve ter no mínimo 5 caracteres");
		return false;
	}

	return true;
}


//
function tamanho_minimo(tamanho, min) {

	if (tamanho < min) {
		return false;
	}
	return true;
}


//
function tamanho_maximo(tamanho, max) {

	if (tamanho > max) {
		return false;
	}
	return true;
}


//
function tamanho_campo(tamanho, limite, rotulo) {

	var j_tamanho = tamanho;
	var j_rotulo = rotulo;
	var j_limite = limite;

	if (j_tamanho > j_limite) {

		alert ("O campo "+ j_rotulo + " não pode ultrapassar " + j_limite + " caracteres");
		return false;
	}

	return true;
}


//
function valida_campo(conteudo) {

	//var valid = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";

	var j_invalidos = "'";
	var j_ok = "yes";
	var j_conteudo = conteudo;
	var j_temp;
	for (var i=0; i<j_conteudo.length; i++) {
		j_temp = "" + j_conteudo.substring(i, i+1);
		
		if (j_invalidos.indexOf(j_temp) != "-1") j_ok = "no";

	}
		if (j_ok == "no") {
			alert("Informações incorretas! Algum caracter não permitido foi inserido");
			return false;
		}

	return true;
}


//
function isCPF(conteudo) {
	
	var i;
	var soma;
	soma = 0;
	
	//VERIFICA SE É UM NÚMERO E SE TEM 11 DIGITOS
	if ((!valida_numero(conteudo)) || (conteudo.length!=11))
		return false;
	
	//VALIDA CPF
	for (i=0; i<conteudo.length; i++)
		soma += Number(conteudo.charAt(i));
	if ((soma % 11)==0)
		return true;
	soma=0;
	for (i=0; i<9; i++)
		soma += (10 - i) * (conteudo.charAt(i) - '0');
	soma = 11 - (soma % 11);
    if (soma > 9) soma = 0;
    if (soma == (conteudo.charAt(9) - '0')) {
		soma = 0;
        for (i=0; i < 10; i++)
			soma += (11 - i) * (conteudo.charAt(i) - '0');
        soma = 11 - (soma % 11);
        if (soma > 9) soma = 0;
        if (soma == (conteudo.charAt(10) - '0'))
			return true;
	}
	
	return false;

}


//
function isCNPJ(conteudo) {
	
	var i,j;
	var soma;
	soma = 0;
	
	//VERIFICA SE É UM NÚMERO E SE TEM 14 DIGITOS
	if ((!valida_numero(conteudo)) || (conteudo.length!=14))
		return false;
	
	//VALIDA CNPJ
	for (i=0, j = 5; i < 12; i++) {
		soma += j-- * (conteudo.charAt(i) - '0');
		if (j < 2) j = 9;
	}
	soma = 11 - (soma % 11);
	if (soma > 9) soma = 0;
	if (soma == (conteudo.charAt(12) - '0')) {
		soma = 0;
		for (i=0, j = 6; i < 13; i++) {
			soma += j-- * (conteudo.charAt(i) - '0');
			if (j < 2) j = 9;
		}
		soma = 11 - (soma % 11);
		if (soma > 9) soma = 0;
		if (soma == (conteudo.charAt(13) - '0')) {
			return true;
		}
	}
	return false;
}

function somente_numeros(w_bln_pontuacao)
{
	if (document.all) // Internet Explorer
		var tecla = event.keyCode;
	else if(document.layers) // Nestcape
		var tecla = event.which;

	if (w_bln_pontuacao == true)
	{
		if ((tecla > 47 && tecla < 58) || (tecla == 44))// numeros de 0 a 9 e vírgula
			return true;
		else
		{
			if (tecla != 8 && tecla != 127) // backspace e delete
				event.keyCode = 0;
			else
				return true;
		}
	}
	else
	{
		if (tecla > 47 && tecla < 58)// numeros de 0 a 9
			return true;
		else
		{
			if (tecla != 8 && tecla != 127) // backspace e delete
				event.keyCode = 0;
			else
				return true;
		}
	}	
}
