
/**************************************************************************
* SISTEMA DE PROTOCOLO                                                     *
* validaForm.js - validar entrada de campos do formulario                  * 
* PHP 5                                                                    *
* Programador: Daniel Tenorio                                              *
* Data: 29/05/2008                                                         *
**************************************************************************/

function ValidaForm()
{	d = document.form1;
//_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_
	//valida código do usuário
	indice = d.cod_usuario.selectedIndex;
	if (d.cod_usuario.options[indice].text == "OPÇÕES")
	{	alert("O campo COMPRADOR deve ser escolhido!");
		d.cod_usuario.focus();
		return false;
	}
//_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_
	//valida código do produto
	indice = d.cod_produto.selectedIndex;
	if (d.cod_produto.options[indice].text == "OPÇÕES")
	{	alert("O campo PRODUTO deve ser escolhido!");
		d.cod_produto.focus();
		return false;
	}
	//valida código do nivel
	indice = d.nivel.selectedIndex;
	if (d.nivel.options[indice].text == "OPÇÕES")
	{	alert("O campo NIVEL deve ser escolhido!");
		d.nivel.focus();
		return false;
	}

//_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_
	//valida código da empresa
	indice = d.cod_empresa.selectedIndex;
	if (d.cod_empresa.options[indice].text == "OPÇÕES")
	{	alert("O campo EMPRESA deve ser escolhido!");
		d.cod_empresa.focus();
		return false;
	}
//_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_
	//validar quantidade
	if (d.quantidade.value == ""){
		alert("O campo QUANTIDADE deve ser preenchido!");
		d.quantidade.focus();
		return false;
	}
	//validar quantidade(verificacao se contem apenas numeros)
	if (isNaN(d.quantidade.value)){
		alert("O campo QUANTIDADE deve conter apenas números!");
		d.quantidade.value = "";
		d.quantidade.focus();
		return false;
	}
//_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_
	//validar valor unitário
	if (d.vl_unit.value == ""){
		alert("O campo VALOR UNITÁRIO deve ser preenchido!");
		d.vl_unit.focus();
		return false;
	}
	//validar valor unitário(verificacao se contem apenas numeros)
	if (isNaN(d.vl_unit.value)){
		alert("O campo VALOR UNITÁRIO deve conter apenas números!");
		d.vl_unit.value = "";
		d.vl_unit.focus();
		return false;
	}
//_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_
	//validar valor total
	if (d.vl_tot.value == ""){
		alert("O campo VALOR TOTAL deve ser preenchido!");
		d.vl_tot.focus();
		return false;
	}
	//validar valor total(verificacao se contem apenas numeros)
	if (isNaN(d.vl_tot.value)){
		alert("O campo VALOR TOTAL deve conter apenas números!");
		d.vl_tot.value = "";
		d.vl_tot.focus();
		return false;
	}
//_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_
	//validar nota fiscal(verificacao se contem apenas numeros)
	if (isNaN(d.nota_fiscal.value)){
		alert("O campo NOTA FISCAL deve conter apenas números!");
		d.nota_fiscal.value = "";
		d.nota_fiscal.focus();
		return false;
	}
//_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_
	//valida situação
	indice = d.situacao.selectedIndex;
	if (d.situacao.options[indice].text == "OPÇÕES")
	{	alert("O campo SITUAÇÃO deve ser escolhido!");
		d.situacao.focus();
		return false;
	}
//_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_
	//validar vencimento
	if (d.vencimento.value == ""){
		alert("O campo VENCIMENTO deve ser preenchido!");
		d.vencimento.focus();
		return false;
	}
	barras = d.vencimento.value.split("/");
	if (barras.length == 3)
	{	dia = barras[0];
		mes = barras[1];
		ano = barras[2];
		resultado = (!isNaN(dia) && (dia > 0) && (dia < 32)) && (dia.length == 2) && 
					(!isNaN(mes) && (mes > 0) && (mes < 13)) && (mes.length == 2) && 
					(!isNaN(ano) && (ano.length == 4) && (ano >= 1900));
		if (!resultado) 
		{	alert("Formato de DATA inválido!");
			d.vencimento.value = "";
			d.vencimento.focus();
			return false;
		}
	} 
	else 
	{	alert("Formato de DATA inválido! Faltou alguma \"/ \"");
		d.vencimento.value = "";
		d.vencimento.focus();
		return false;
	}
//_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_
}

function ValidaCargo()
{	d = document.form1;
//_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_
	//valida código do departamento
	indice = d.id.selectedIndex;
	if (d.id.options[indice].text == "OPÇÕES")
	{	alert("O campo nivel deve ser escolhido!");
		d.id.focus();
		return false;
	}
//_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_
	//validar nome
	if (d.descricao.value == ""){
		alert("O campo DESCRICAO DO CARGO deve ser preenchido!");
		d.descricao.focus();
		return false;
	}
//_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_
	//validar estoque
	if (d.valor.value == ""){
		alert("O campo VALOR deve ser preenchido!");
		d.valor.focus();
		return false;
	}
}

function ValidaEmpresa()
{	d = document.form1;
	//_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_
	//valida código do departamento
	indice = d.menu.selectedIndex;
	if (d.menu.options[indice].text == "OPÇÕES")
	{	alert("O campo DEPARTAMENTO deve ser escolhido!");
		d.menu.focus();
		return false;
	}
//_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_
}

function ValidaNivel()

{	d = document.cadniveis;
//_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_
	//validar estoque
   if (d.descricao.value == ""){
		alert("O campo DESCRICAO deve ser preenchido!");
		d.descricao.focus();
		return false;
	}
//_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_*_
}

function ValidaUser()
{	d = document.form1;
	//validar estoque
	if (d.nome.value == ""){
		alert("O campo NOME deve ser preenchido!");
		d.nome.focus();
		return false;
	}
}
//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
//* Descrição.: formata um campo do formulário de acordo com a máscara informada...
//* Parâmetros: - objForm (o Objeto Form)
//* - strField (string contendo o nome do textbox)
//* - sMask (mascara que define o formato que o dado será apresentado,
//* usando o algarismo "9" para definir números e o símbolo "!" para
//* qualquer caracter...
//* - evtKeyPress (evento)
//* Uso.......: <input type="textbox"
//* name="xxx".....
//* onKeyPress="return Formatar_Campo(document.form1,'vencimento','99/99/9999',event)"
//* Observação: As máscaras podem ser representadas como os exemplos abaixo:
//* CEP -> 99.999-999
//* CPF -> 999.999.999-99
//* CNPJ -> 99.999.999/9999-99
//* Data -> 99/99/9999
//* Tel Resid -> (99) 999-9999
//* Tel Cel -> (99) 9999-9999
//* Processo -> 99.999999999/999-99
//* C/C -> 999999-!
function Formatar_Campo(objForm, strField, sMask, evtKeyPress) {
	var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;

	if(document.all) { // Internet Explorer
		nTecla = evtKeyPress.keyCode; }
	else {
	//if(document.layers) { // Nestcape
		nTecla = evtKeyPress.which;
	}
	
	sValue = objForm[strField].value;
	
	// Limpa todos os caracteres de formatação que
	// já estiverem no campo.
	sValue = sValue.toString().replace( "-", "" );
	sValue = sValue.toString().replace( "-", "" );
	sValue = sValue.toString().replace( ".", "" );
	sValue = sValue.toString().replace( ".", "" );
	sValue = sValue.toString().replace( "/", "" );
	sValue = sValue.toString().replace( "/", "" );
	sValue = sValue.toString().replace( "(", "" );
	sValue = sValue.toString().replace( "(", "" );
	sValue = sValue.toString().replace( ")", "" );
	sValue = sValue.toString().replace( ")", "" );
	sValue = sValue.toString().replace( " ", "" );
	sValue = sValue.toString().replace( " ", "" );
	fldLen = sValue.length;
	mskLen = sMask.length;
	
	i = 0;
	nCount = 0;
	sCod = "";
	mskLen = fldLen;
	
	// Caso seja pressionado backspace, então ignora a verificação da máscara
	if (nTecla !=8){
	   while (i <= mskLen) {
		  bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/"))
		  bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " "))
	
		  if (bolMask) {
			 sCod += sMask.charAt(i);
			 mskLen++; 
		  } else {
			 sCod += sValue.charAt(nCount);
		     nCount++;
		  }
	
	       i++;
	   }	
		
	   objForm[strField].value = sCod;
	   
	}
	if (nTecla != 8) { // backspace
		if (sMask.charAt(i-1) == "9") { // apenas números...
			return ((nTecla > 47) && (nTecla < 58)); 
		} // números de 0 a 9
		else { // qualquer caracter...
			return true;
		} 
	} else {
		return true;
	}
}
//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
/*
* Outra forma de formatação de campos...
function formatar(src, mask) 
{	var i = src.value.length;
	var saida = mask.substring(0,1);
	var texto = mask.substring(i);
	if (texto.substring(0,1) != saida) 
	{	src.value += texto.substring(0,1);
	}
}

Outros exemplos que podem ser usados é:
CEP
OnKeyPress="formatar(this, '#####-###')"
CPF
OnKeyPress="formatar(this, '###.###.###-##')"
DATA
OnKeyPress="formatar(this, '##/##/####')" 
*/
//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
