function fbLiberaNumero(){
	if(!(window.event.keyCode > 47 && window.event.keyCode < 58))
		window.event.returnValue = false;
}

function fgLimpaCampos(){
	var intCount;
	var objCampo;
	var frmTMP = document.forms[0];

	for(var intCount = 0; intCount < frmTMP.length; intCount++){
		objCampo = frmTMP[intCount]; 
		if(objCampo.name.substr(0, 3) == 'txt'){
			objCampo.value = '';
		}

		if(objCampo.name.substr(0, 3) == 'cbo'){
			objCampo.selectedIndex = 0;
		}
	}
}

/** Funções novas **/

function validador(camposObrigatorios, objetoForm){
	/** Propósito: validar campos não preenchidos 
		Argumentos
			camposObrigatorios: passar os nomes dos campos obrigatórios separados por espaços
			objetoForm: passar o objeto formulário (não apenas o nome do formulário!!)
	**/
	
	var objCampo;
	var i, j, flag;
	var strCampos = new String(camposObrigatorios);
	camposObrigatorios = ' ' + camposObrigatorios + ' ';
	
	for(i=0;i< objetoForm.length;i++){
		// Se a TAG for <INPUT TYPE="????">
		var objCampo = objetoForm.elements[i];
		if(objCampo.tagName=='INPUT'){
			if(strCampos.indexOf(objCampo.name) >= 0){
				switch(objCampo.type){
					case 'password':;
					case 'text':
						objCampo.value = trim(objCampo.value);
						if(objCampo.value==''){
							alert('Preencha todos os campos obrigatórios!');
							objCampo.focus();
							return false;
						}
						break;
					case 'hidden': 
						if(objCampo.value==''){
							alert('Preencha todos os campos obrigatórios!');
							return false;
						}
						break;
					case 'checkbox':
					case 'radio':
						objCampo = objetoForm.elements(objCampo.name);
						flag = false;
						for(j=0;j < objCampo.length;j++)
							if(objCampo[j].checked)
								flag = true;
						if(!flag){
							alert('Preencha todos os campos obrigatórios!');
							objCampo[0].focus();
							return false;
						}
						break;
					default: break;
				}
			}
		}
		else if(objCampo.tagName=='SELECT'){
			if(strCampos.indexOf(objCampo.name) >= 0 && objCampo.value==''){
				alert('Preencha todos os campos obrigatórios!');
				objCampo.focus();
				return false;
			}
		}
		else if(objCampo.tagName=='TEXTAREA'){
			if(strCampos.indexOf(objCampo.name) >= 0 && trim(objCampo.value)==''){
				alert('Preencha todos os campos obrigatórios!');
				objCampo.focus();
				return false;
			}
		}
	}
	return true;
}

function trim(texto){
	while('' + texto.charAt(texto.length-1)==' ')
		texto=texto.substring(0,texto.length-1);
	return texto;
}

function eventoKeyPress(){
	var i=1
	var j, o, s;
	
	if(window.event.keyCode==13 && window.event.srcElement.tagName!='TEXTAREA'){
		autoTab();window.event.returnValue = false;return false;
	}else{
		s = new String(window.event.srcElement.value);
		var filtro = new String(' 0 8 9 16 17 18 35 36 37 38 39 40 46 ');
		// se não for um INPUT TEXT ou INPUT PASSWORD ou TEXTAREA, sai da função
		if(window.event.srcElement.tagName=='INPUT' || window.event.srcElement.tagName=='TEXTAREA'){
			if(window.event.srcElement.tagName!='TEXTAREA')
				if(window.event.srcElement.type!='text' && window.event.srcElement.type!='password')
					return true;
			// se não atingiu o tamanho maximo, sai da função
			j = window.event.srcElement.maxLength;
			if(isNaN(j)) return true;
			else j = parseInt(j);
			if(parseInt(s.length) < j || filtro.indexOf(' ' + window.event.keyCode + ' ')>-1)
				return true;
		}else {
			return true;
		}
	}
	autoTab();
	window.event.returnValue = false; return false;
}

function autoTab(){
	var i=1;
	var o, index;
	index = getIndex(window.event.srcElement);
	while(index + i < window.event.srcElement.form.length){
		o = window.event.srcElement.form[index + i];
		if(o.tagName=='INPUT')
			if(o.type!='hidden'){
				o.focus();
				return;
			}
		i++
		if(index + i >= window.event.srcElement.form.length){
			index=0;i=0;
		}
	}
}

function getIndex(campo) {
	var i;
	for(i=0;i < campo.form.length;i++)
		if (campo.form[i] == campo)return i;
	return -1;
}

function inputNumerosLng(){
	/* valida se é um numero válido no momento da digitação. Ex: <input type=text onKeyPress="return inputNumerosLng();" */
	if(window.event.keyCode==13){
		window.event.returnValue = false;autoTab();return false;
	}
	var tecla = window.event.keyCode;
	if(!(tecla > 47 && tecla < 58)){
		window.event.returnValue = false;
		return false;
	}
	return eventoKeyPress();
}

function inputNumerosDbl(){
	/* valida se é um numero com ponto flutuante válido no momento da digitação. Ex: <input type=text onKeyPress="return inputNumerosLng();"
	
	var tecla = window.event.keyCode;
	var obj;
	// Descobrir keycode da virgula: 44
	if(!inputNumerosLng() && tecla!=44){
		//window.event.returnValue = false;
		return false;
	}
	obj = window.event.srcElement.tagName; */
}

function validaEmail(valor) {
	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(valor)){
		return true;
	}
	return false;
}