/*//////////// FORMULÁRIO INTELIGENTE
	A FUNÇÃO ANALISA UMA PROPRIEDADE QUE DEV SER INSERIDA NAS TAGS HTML( VALID ) // <input type='text' valid='V'>
	VALID	= "N"
		VALIDA SE EXISTEM DADOS PREENCHIDOS E SE OS DADOS INSERIDOS NO CAMPO SÃO SOMENTE NÚMEROS, PONTOS OU VIRGULAS
	
	VALID	= "V"
		VALIDA SE O CAMPO FOI PREENCHIDO OU NÃO
	
	VALID = "" OU SIMPLESMENTE NÃO ACHAR A TAG
		NÃO FAZ VALIDAÇÃO

	VALORES DE ENTRADA
	FRM	-> NAME DO FORM A SER ANALISADO
	
	OBS:
		IDENTIFICA AUTOMATICAMENTE SE O NOME DO CAMPO É "email" E FAZ A VERIFICAÇÃO DE EMAIL.
		CASO A VERIFICAÇÃO ESTEJA OK RETORNA TRUE
		CASO CONTRARIO EXIBE MENSAGEM APROPRIADA, DA O FOCU NO CAMPO ONDE OCORREU O ERRO, E RETORNA FALSE
*/
function vldForm(frm) {
	var qtdCampos	= frm.length;
	var x;
	
	for(x=0;x<=qtdCampos-1;x++) {
		if(frm.elements[x].valid != null) {
			if(frm.elements[x].valid == 'n' || frm.elements[x].valid == 'N') {
				if(isNaN(frm.elements[x].value)) {
					alert('Por favor preencha os campos corretamente *');
					frm.elements[x].focus();
					return(false);
				}
			} else {
				if(frm.elements[x].name.indexOf("email") != -1 || frm.elements[x].name.indexOf("Email") != -1) {
					if (!validaEmail(frm.elements[x].value)) {
						alert('E-mail Inválido *');
						frm.elements[x].focus();
						return(false)
					}
				} else if(frm.elements[x].value.replace(/^\s*|\s*$/g,"") == '' || frm.elements[x].value == '/') {
					alert('Por favor preencha os campos obrigatórios *');
					frm.elements[x].focus();
					return(false);
				}
			}
		}
	}
	return(true);
}

//FUNÇÃO QUE APENAS DEIXA DIGITAR NÚMEROS PONTOS E VÍRGULAS
function somenteNumeros() // PARA EVENTO OnKeyDown
{
	var Tecla = window.event.keyCode;
if (!(	(Tecla > 95 && Tecla < 106) || 
	(Tecla > 44 && Tecla < 58) 		|| 
		(Tecla > 32 && Tecla < 41)  ||
			(
			Tecla == 17  ||
			Tecla == 16  ||
			Tecla == 8   || 
			Tecla == 9   || 
			Tecla == 13  ||
			Tecla == 144 ||
			Tecla == 188 ||
			Tecla == 190 ||
			Tecla == 110 ||
			Tecla == 194 
			)
		)
	)
{window.event.returnValue = false;}
}

function somenteNumeros2() // PARA EVENTO OnKeyDown
{
	var Tecla = window.event.keyCode;
if (!(	(Tecla > 95 && Tecla < 106) || 
	(Tecla > 44 && Tecla < 58) 		|| 
		(Tecla > 32 && Tecla < 41)  ||
			(
			Tecla == 17  ||
			Tecla == 16  ||
			Tecla == 8   || 
			Tecla == 9   || 
			Tecla == 13  ||
			Tecla == 144
			)
		)
	)
{window.event.returnValue = false;}
}

function RetornaNumeros(Texto) {
	var CharPego = new RegExp("[^0-9]","gi")
	var NovoTexto= Texto.replace(CharPego,'')
	return NovoTexto
}

function isSenha(f1, f2) {
	if (f1.value != f2.value){
		alert('Senha e confirmação não conferem !');
		return(false);
	} else {
		return(true);
	}
}

//Eventos onKeyPress e onKeyUp
function fnContar(obj, Max) {
  if (obj.value.length >= Max) {
    obj.value = obj.value.substring(0, Max);
    return false;
  }
}

function validaEmail(campoemail) {
  var objRegExp = /^[A-Za-z]([\w\.-]*)@([A-Za-z0-9\.-]*)\.(([A-Za-z]{3}\.[A-Za-z]{2}$)|([A-Za-z]{3}$)|([a-z]{2}$))/i ;
  var strBol = objRegExp.test(campoemail);
  return strBol;
}

function FormataData(Campo, teclapres) {
	var tecla = teclapres.keyCode;
	var tam, vr = new String(Campo.value);
	vr = vr.replace("/", "");
	tam = vr.length + 1;
	
	if (tecla != 9 && tecla != 8) {
		if (tam > 2 && tam < 5)
			Campo.value = vr.substr(0,2) + '/' + vr.substr(2,tam);
		if (tam >= 5 && tam < 10)
			Campo.value = vr.substr(0,2) + '/' + vr.substr(2,2) + '/' + vr.substr(5,tam-5);
	}
}

function FormataHora(Campo, teclapress) {
	var tecla = teclapress.keyCode;
	var tam, vr = new String(Campo.value);
	vr = vr.replace(":", "");
	tam = vr.length + 1;
	
	if (tecla != 9 && tecla != 8) {
		if (tam > 2 && tam < 5)
			Campo.value = vr.substr(0,2) + ":" + vr.substr(2,tam);
	}
}

function ValidaHora(Campo) {
	if (Campo.value != "") {
		if (!isValidHora(Campo.value)) {
			alert("Hora inválida!");
			Campo.focus();
		}
	}
}

function isValidHora(hora) {
	if (hora != "") {
		if (hora.length > 0 && hora.length < 4)
			return false;
		if (hora.substr(0,2) > 23)
			return false
		else if (hora.substr(3,2) >= 60)
			return false
		else
			return true;
	} else
		return false;
}

function ValidaData(Campo) {
	if (Campo.value != "") {
		if (!isValidDate(Campo.value)) {
			alert("Data inválida!");
			Campo.focus();
		}
	}
}

function isValidDate(data) {
	if (data != "") {
		if (data.length > 0 && data.length < 9)
			return false;
		var reDate = /^((0?[1-9]|[12]\d)\/(0?[1-9]|1[0-2])|30\/(0?[13-9]|1[0-2])|31\/(0?[13578]|1[02]))\/(19|20)?\d{2}$/;
		if (reDate.test(data)) {
			if (data.substr(0,2) == '29' && data.substr(3,2) == '02') {
				if ((data.substr(6,4) % 4 == 0) && ((data.substr(6,4) % 100 != 0) || (data.substr(6,4) % 400 == 0))) {
					return true;
				} else {
					return false;
				}
			} else
				return true;
		} else {
			return false;
		}
	} else
		return false;
}

// Função que Monta Combos(dia, mes, ano) de Data
////////////////////////////////////////
//	Robert de Azevedo Lima			///
//	robertdeazevedo@yahoo.com.br	//
/////////////////////////////////////
/*
Parametros 
	nomeCampo 
	È um Input Hidden onde você terá o retorno de valor dos três inputs de data D M A, 
	este nomeCampo será colocado como ID e NAME do Campo de retorno a data é retornada no formato padrão Brasileiro DMA
	
	Sdia Smes e Sano 
	servem para telas de edição onde os parametros passados serão marcados nas caixas;
*/
function montaCombo(nomeCampo,Sdia,Smes,Sano) {
	var anoInicial, anoAtual, data, dataAtual, anosMais, marcar, x, y, nomeCampo, Sdia, Smes, Sano, edicao;
	anoInicial = 1910;
	data = new Date();
	dataAtual = data.getDate() +'/'+ data.getMonth() +'/'+ data.getFullYear();
	anoAtual = data.getFullYear();
	anosMais = parseInt(anoAtual);
	edicao = false;
	//==================== DIA ====================>
	for (x=1;x<=31;x++) {
		// Escrevendo o Combo com os Dias
		if (x == 1)
			document.write("<select id='cbDia' class='txtBox1' onChange=\"document.getElementById('"+ nomeCampo +"').value = document.getElementById('cbDia').value +'/'+ document.getElementById('cbMes').value +'/'+ document.getElementById('cbAno').value;\" style='width:40px'>");

		if (x <= 9) {
			y = "0"+ x;
		} else {
			y = x;
		}
		if (Sdia == y) {
			marcar = " selected";
		} else {
			marcar = "";
		}
		document.write("<option value='"+ y +"'"+ marcar +">"+ y +"</option>");
		if (x == 31)
			document.write("</select> / ");
	}
	//==================== MES ====================>
	for (x=1;x<=12;x++) {
		//Escrevendo o Combo com os Meses;
		if (x == 1)
			document.write("<select id='cbMes' class='txtBox1' onChange=\"document.getElementById('"+ nomeCampo +"').value = document.getElementById('cbDia').value +'/'+ document.getElementById('cbMes').value +'/'+ document.getElementById('cbAno').value;\" style='width:40px'>");

		if (x <= 9) {
			y = "0"+ x;
		}	else {
			y = x;
		}
		if (Smes == y) {
			marcar = " selected";
		} else {
			marcar = "";
		}
		document.write("<option value='"+ y +"'"+ marcar +">"+ y +"</option>");
		if (x == 12) {
			document.write("</select> / ");
		}				
	}
	//==================== ANO ====================>
	for	(x=anoInicial;x<=anosMais;x++) {
		if (x == anoInicial)
			document.write("<select id='cbAno' class='txtBox1' onChange=\"document.getElementById('"+ nomeCampo +"').value = document.getElementById('cbDia').value +'/'+ document.getElementById('cbMes').value +'/'+ document.getElementById('cbAno').value;\" style='width:60px'>");

		if (Sano == x) {
			marcar = " selected";
			edicao = true;
		} else {
			if (x == anoAtual && edicao == false) {
				marcar = " selected";
			} else {
				marcar = "";
			}
		}

		document.write("<option value='"+ x +"'"+ marcar +">"+ x +"</option>");
		if (x == anosMais)
			document.write("</select>");
	}
	//================== HIDDEN COM  O VALOR DA DATA ======================>
	if (isNaN(Sdia) && isNaN(Smes) && isNaN(Sano)) {
		document.write(" <input type='hidden' name='"+ nomeCampo +"' id='"+ nomeCampo +"' value='"+ dataAtual +"'>");
	} else {
		document.write(" <input type='hidden' name='"+ nomeCampo +"' id='"+ nomeCampo +"' value='"+ Sdia +'/'+ Smes +'/'+ Sano +"'>");
	}
}


function fnValidaUp(op,file) {
	if (file.lastIndexOf(".") == -1)
		return false;
	var bVal, ext = file.substring(file.lastIndexOf("."));
	var aExt = new Array();
	aExt[0] = ".doc";
	aExt[1] = ".docx";
	aExt[2] = ".pdf";
	if (op == 1) { //CV - Só permite se especificados
		bVal = false;
		for (x in aExt) {
			if (ext == aExt[x])
				bVal = true;
		}
	} else {
		bVal = false;
	}
	return bVal;
}
