// JavaScript Document

//FUNÇÕES NESTE ARQUIVO:
// - IsTime
// - IsDate
// - isMail
// - verificaHora
// - validaCPF
// - campoRequerido
// - FormataValor
// - formatarHora
// - formatarData
// - bloquearNaoNumerico
// - formatDate

///////////////////////////////////////////////////////////
// FUNÇÃO UTILIZADA PARA VERIFICAR SE O VALOR É UMA HORA//
/////////////////////////////////////////////////////////
function IsTime(sTime){
	if (sTime.substring(0,8) == "1/1/1900"){
		sTime = sTime.substring(9,14);
	}
	return (sTime);
}

///////////////////////////////////////////////////////////
// FUNÇÃO UTILIZADA PARA VERIFICAR SE O VALOR É UMA DATA//
/////////////////////////////////////////////////////////
function IsDate(sDate, banco){
	var vDia = sDate.indexOf("/");
	var vMes = sDate.lastIndexOf("/");
	
	if (vDia != -1 && vMes != -1){
		var oDia = sDate.substring(0,vDia);
		var oMes = sDate.substring((vDia+1),vMes);
		var oAno = sDate.substring((vMes+1),sDate.length);
		
		if (oDia.length == 1){oDia = "0" + oDia};
		if (oMes.length == 1){oMes = "0" + oMes};
		if (banco){
			return (oMes + "/" + oDia + "/" + oAno);
		}else{
			return (oDia + "/" + oMes + "/" + oAno);
		}
	}else{
		return (sDate);
	}
}

///////////////////////////////////////////////////////////
// FUNÇÃO UTILIZADA PARA VERIFICAR SE O VALOR É UM EMAIL//
/////////////////////////////////////////////////////////
function isMail(nomeCampo, alerta){
	if (document.getElementById(nomeCampo).value.length > 0){
		var reTipo = /^[\w-]+(\.[\w-]+)*@(([A-Za-z\d][A-Za-z\d-]{0,61}[A-Za-z\d]\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/;
		if (reTipo.test(document.getElementById(nomeCampo).value)){
			return true;
		}else{
			alert(alerta);
			document.getElementById(nomeCampo).focus();
			return false;
		}
	}
}

////////////////////////////////////////////////////////
// FUNÇÃO UTILIZADA PARA VERIFICAR SE A HORA É VÁLIDA//
//////////////////////////////////////////////////////
function verificaHora(campo){
	var validaHora = /^([0-1]\d|2[0-3]):[0-5]\d$/;
	
	if (validaHora.test(campo.value) == false){
		campo.focus();
		alert("Hora Inválida!");
	}
}

////////////////////////////////////////////////////////
// FUNÇÃO UTILIZADA PARA VERIFICAR A IDADE DO CLIENTE//
//////////////////////////////////////////////////////
function verificaNascimento(Campo, idadeMinima){
	
	var data = document.getElementById(Campo).value;
	var oAno = data.substring((data.lastIndexOf("/")+1),data.length);
	
	var today = new Date();
	var oAnoAtual = today.getYear();
	
	var idade = oAnoAtual - oAno;
	if (idade < idadeMinima){
		alert("IDADE MINIMA INSUFICIENTE PARA SE CADASTRAR! FAVOR CADASTRAR UM RESPONSÁVEL.");
		return false;
	}
}

////////////////////////////////////////////////////////////////////
// FUNÇÃO UTILIZADA PARA VALIDAR O CPF DO CLIENTE CASO ELE DIGITE//
//////////////////////////////////////////////////////////////////
function validaCPF() {
	var x			= 0;
	var soma	= 0;
	var dig1	= 0;
	var dig2	= 0;
	var texto	= "";
	var numcpf  = document.getElementById("CLIE_IX_CPF").value;
	if (numcpf.length > 0){
		numcpf1	= "";
		len		= numcpf.length; x = len -1;
			
		for (var i=0; i <= len - 3; i++) {
			y		= numcpf.substring(i,i+1);
			soma	= soma + ( y * x);
			x		= x - 1;
			texto	= texto + y;
		}
				
		dig1 = 11 - (soma % 11);
			
		if (dig1 == 10) dig1=0 ;
		if (dig1 == 11) dig1=0 ;
			
		numcpf1 = numcpf.substring(0,len - 2) + dig1 ;
		x = 11; soma=0;
		for (var i=0; i <= len - 2; i++) {
			soma = soma + (numcpf1.substring(i,i+1) * x);
			x = x - 1;
		}
				
		dig2= 11 - (soma % 11);
			
		if (dig2 == 10) dig2=0;
		if (dig2 == 11) dig2=0;

		if (numcpf == "11111111111" || numcpf == "22222222222" || numcpf == "33333333333" || numcpf == "44444444444" || numcpf == "55555555555" || numcpf == "66666666666" || numcpf == "77777777777" || numcpf == "88888888888" || numcpf == "99999999999") {
			alert("NÚMERO DE CPF INVÁLIDO!");
			document.getElementById("CLIE_IX_CPF").focus();
			return false;
		}
			
		if	((dig1 + "" + dig2) == (numcpf.substring(len-2, len))) {
			return true;
		}else{
			alert("NÚMERO DE CPF INVÁLIDO!");
			document.getElementById("CLIE_IX_CPF").focus();
			return false;
		}
	}
	return true;
}

/////////////////////////////////////////////////////////////
// FUNÇÃO UTILIZADA PARA VALIDAR SE O CAMPO FOI PREENCHIDO//
///////////////////////////////////////////////////////////
function campoRequerido(form, nomeCampo, alerta){
	var obj = document.getElementById(form).elements[nomeCampo];

	if (obj){
		switch(obj.type){
			case "select-one":
				if (obj.selectedIndex == -1 || obj.options[obj.selectedIndex].value == ""){
					alert(alerta);
					obj.focus();
					return false;
				}
			break;
			case "select-multiple":
				if (obj.selectedIndex == -1){
					alert(alerta);
					obj.focus();
					return false;
				}
			break;
			
			case "hidden":
				if (obj.value == "" || obj.value.substring(0,1) == " "){
						alert(alerta);
						//obj.focus();
						return false;
					}
				break;
			case "text":
			case "textarea":
				if (obj.value == "" || obj.value.substring(0,1) == " "){
					alert(alerta);
					obj.focus();
					return false;
				}
			break;
			default:
		}
		
		if (obj.type == undefined){
			var blnchecked = false;
			for (var j = 0; j < obj.length; j++){
				if (obj[j].checked){
					blnchecked = true;
				}
			}
			
			if (!blnchecked){
				alert(alerta);
				return false;
			}
		}
	}
}

///////////////////////////////////////////////////////////
// FUNÇÃO UTILIZADA PARA FORMATAR O TEXTO COMO MONETÁRIO//
/////////////////////////////////////////////////////////
function FormataValor(campo,tammax,teclapres) {
	var tecla = teclapres.keyCode;
	vr = document.getElementById(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 ){ 
			document.getElementById(campo).value = vr;
		}
		if ( (tam > 2) && (tam <= 5) ){
			document.getElementById(campo).value = vr.substr( 0, tam - 2 ) + ',' + vr.substr( tam - 2, tam );
		}
		if ( (tam >= 6) && (tam <= 8) ){
			document.getElementById(campo).value = vr.substr( 0, tam - 5 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam );
		}
		if ( (tam >= 9) && (tam <= 11) ){
			document.getElementById(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) ){
			document.getElementById(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) ){
			document.getElementById(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 );
		}
	}
}

/////////////////////////////////////////////////////
// FUNÇÃO UTILIZADA PARA FORMATAR O TEXTO COMO HORA//
////////////////////////////////////////////////////
function formatarHora(campo){
	if(campo.value.length == 2){
		campo.value = campo.value + ':';
	}
}

//////////////////////////////////////////////////////
// FUNÇÃO UTILIZADA PARA FORMATAR O TEXTO COMO DATA//
////////////////////////////////////////////////////
function formatarData(campo){
	if(campo.value.length == 2){
		campo.value = campo.value + '/';
	}
	if(campo.value.length == 5){
		campo.value = campo.value + '/';
	}
}

/////////////////////////////////////////////////////////
// FUNÇÃO UTILIZADA PARA BLOQUEAR TECLAS NÃO NUMÉRICAS//
///////////////////////////////////////////////////////
function bloquearNaoNumerico() {
	if (event.keyCode == 34 || event.keyCode == 38 || event.keyCode == 39){
		event.keyCode = 0;
	}
	if (event.keyCode < 48 || event.keyCode > 57){
		event.keyCode = 0;
	}
}

///////////////////////////////////////////
// FUNÇÃO UTILIZADA PARA FORMATAR A DATA//
/////////////////////////////////////////
function formatDate(date,format) {
	format=format+"";
	var result="";
	var i_format=0;
	var c="";
	var token="";
	var y=date.getYear()+"";
	var M=date.getMonth()+1;
	var d=date.getDate();
	var E=date.getDay();
	var H=date.getHours();
	var m=date.getMinutes();
	var s=date.getSeconds();
	var yyyy,yy,MMM,MM,dd,hh,h,mm,ss,ampm,HH,H,KK,K,kk,k;
	// Convert real date parts into formatted versions
	var value=new Object();
	if (y.length < 4) {y=""+(y-0+1900);}
	value["y"]=""+y;
	value["yyyy"]=y;
	value["yy"]=y.substring(2,4);
	value["M"]=M;
	value["MM"]=LZ(M);
	value["MMM"]=MONTH_NAMES[M-1];
	value["NNN"]=MONTH_NAMES[M+11];
	value["d"]=d;
	value["dd"]=LZ(d);
	value["E"]=DAY_NAMES[E+7];
	value["EE"]=DAY_NAMES[E];
	value["H"]=H;
	value["HH"]=LZ(H);
	if (H==0){value["h"]=12;}
	else if (H>12){value["h"]=H-12;}
	else {value["h"]=H;}
	value["hh"]=LZ(value["h"]);
	if (H>11){value["K"]=H-12;} else {value["K"]=H;}
	value["k"]=H+1;
	value["KK"]=LZ(value["K"]);
	value["kk"]=LZ(value["k"]);
	if (H > 11) { value["a"]="PM"; }
	else { value["a"]="AM"; }
	value["m"]=m;
	value["mm"]=LZ(m);
	value["s"]=s;
	value["ss"]=LZ(s);
	while (i_format < format.length) {
	c=format.charAt(i_format);
	token="";
	while ((format.charAt(i_format)==c) && (i_format < format.length)) {
		token += format.charAt(i_format++);
		}
	if (value[token] != null) { result=result + value[token]; }
	else { result=result + token; }
	}
return result;
}

function verificaValor(campo)
{
	oCampo = document.getElementById(campo)
	valor = oCampo.value
	if (valor.lastIndexOf(",") == -1)
	{
		alert('Digite um valor válido');
		oCampo.focus();
		return false;
	}
	else
	{
		//alert(valor.lastIndexOf(","));
		oValor = valor.substr(valor.lastIndexOf(",") + 1, valor.length);
		if (oValor.length < 2)
		{
			alert('Digite um valor válido');
			oCampo.focus();
			return false;
		}
	}
}
