function validaForm(paForm,paObrigatorio) {
	var campos = paObrigatorio
	var possuiValor = false
	var msg = ""
	var objetoFocus
	for(i=0; i<campos.length; i++) {
		eval("objetoForm = paForm." + campos[i][0])
		possuiValor = false
		tipo = objetoForm.type 
		if(!tipo) {
			tipo = objetoForm[0].type
		}
		switch(tipo) {
			case "text":
			case "password":
			case "hidden":
			case "textarea":
				possuiValor = (objetoForm.value == "" ? false : true)
				break;
			case "checkbox":
			case "radio":
				if(objetoForm[0]) {
					for(j=0; j<objetoForm.length; j++) {
						if(objetoForm[j].checked) {
							possuiValor = true
							break
						}
					}
					objetoForm = objetoForm[0]
				} else {
					if(objetoForm.checked) {
						possuiValor = true
						break
					}
				}
				break;
			case "select-one":
				possuiValor = (objetoForm[objetoForm.selectedIndex].value == "" ? false : true)
				break;
		}
		if(!possuiValor) {
			msg += " - " + campos[i][1] + "\n"
			if(!objetoFocus)
				objetoFocus = objetoForm
		}
	}
	if(msg == "") {
		if(paForm.btOk) {
			desabilitaBotao(paForm.btOk)
		}
		if(paForm.btCancel) {
			paForm.btCancel.disabled = true
		}
		return true;
	}
	else {
		if(objetoFocus)
			objetoFocus.focus()
		alert("Os seguintes campos não foram preenchidos:\n\n" + msg + "\nInforme-os e confirme novamente!")
		return false
	}
}

function fTrimText(PVvalor,PVtipo){
	switch(PVtipo.toLowerCase()){
		case "e":
			PVvalor=PVvalor.replace(/^\s*(\b.*|)$/, "$1");
			break;
		case "d":
			PVvalor=PVvalor.replace(/^(.*\b|)\s*$/, "$1");
			break;
		case "t":
			PVvalor=PVvalor.replace(/^\s*(\b.*\b|)\s*$/, "$1");
			break;
	}
	return PVvalor
}

function isVazio(PRobjeto) {
	fTrimCampo(PRobjeto)
	if(PRobjeto.value=="")
		return true
	else
		return false
}

function fIsNumeric(PVvalor){
	return fExpReg(/^[0-9]+\,?[0-9]*$/,PVvalor)
}

function isNumero(paValor) {
	return fExpReg(/^[0-9]$/,paValor)
}
function isLetra(paValor) {
	return fExpReg(/^[a-z]|[A-Z]$/,paValor)
}
function isNumeroByCode(paValor) {
	valor = String.fromCharCode(paValor);
	return fExpReg(/^[0-9]$/,valor)
}
function isLetraByCode(paValor) {
	valor = String.fromCharCode(paValor);
	return fExpReg(/^[a-z]|[A-Z]$/,valor)
}

function isKeyByCode(paCodigo,paChar) {
	valor = getKeyCharByCod(paCodigo)
	return (valor == paChar)
}

function fExpReg(PVexpressao,PVstring){
	return PVexpressao.test(PVstring);
}

function fTrimCampo(PVobjeto)
{
	PVobjeto.value=fTrimText(PVobjeto.value,"T")
}

function checkAll(paObjeto, bool) {
	for(i=0;i<paObjeto.length;i++)
		paObjeto[i].checked = bool
}

function disableAll(paObjeto, bool) {
	for(i=0;i<paObjeto.length;i++) {
		paObjeto[i].checked = false
		paObjeto[i].disabled = bool
	}
}

function editaTextFocus(paObj) {
	if(paObj.value == paObj.defaultValue)
		paObj.value = ""
}

function editaTextBlur(paObj) {
	if(paObj.value == "")
		paObj.value = paObj.defaultValue
}

function fDataValida(PVobjeto)
{
	problema=false;
	qtBarra=0;
	tamanho=PVobjeto.value.length;
	if(tamanho>4){
		caracteres="01234567890/";
		for(i=0;i<tamanho;i++){
			algarismo=PVobjeto.value.substring(i,i+1);
			if((caracteres.search(algarismo)==-1)&&!(problema)){
				problema=true;
			}
			if(algarismo=="/"){
				qtBarra++;
			}
		}
		if(!(problema)){
			if(qtBarra>2){
				problema=true;
			}
		}
		if(!(problema)){
			for(i=0;i<tamanho;i++){
				algarismo=PVobjeto.value.substring(i,i+1);
				if(algarismo=="/"){
					if(i==1){
						PVobjeto.value="0"+PVobjeto.value;
					}
					else
					if(i==4){
						PVobjeto.value=PVobjeto.value.substring(0,3)+"0"+PVobjeto.value.substring(3,11);
					}
				}
			}
			tamanho=PVobjeto.value.length;
			if(tamanho<10){
				ano=parseFloat(PVobjeto.value.substring(6,10));
				if((ano>0)&&(ano<30)){
					anoi="20";
					if(ano<10){
						anoi="200";
					}
					PVobjeto.value=PVobjeto.value.substring(0,6)+""+anoi+ano;
				}
				if((ano>29)&&(ano<100)){
					PVobjeto.value=PVobjeto.value.substring(0,6)+"19"+ano;
				}
				if((ano>99)&&(ano<999)){
					PVobjeto.value=PVobjeto.value.substring(0,6)+"0"+ano;
				}
			}
		}
		tamanho=PVobjeto.value.length;
		dia=PVobjeto.value.substring(0,2);
		mes=PVobjeto.value.substring(3,5);
		ano=PVobjeto.value.substring(6,10);
		barra1=PVobjeto.value.substring(2,3);
		barra2=PVobjeto.value.substring(5,6);
		if(!(problema)){
			if((barra1!="/")||(barra2!="/")){
				problema=true;
			}
		}
		if(!(problema)){
			if(tamanho!=10){
				problema=true;
			}
		}
		if(!(problema)){
			if((parseFloat(mes)>12)||(parseFloat(mes)<1)){
				problema=true;
			}
		}
		if(!(problema)){
			maiorDiaArray=[0,31,28,31,30,31,30,31,31,30,31,30,31];
			maiorDia=maiorDiaArray[parseFloat(mes)];
			if((parseFloat(mes)==2)&&(ano % 4 == 0 && (ano % 100 != 0 || ano % 400 == 0))){
				maiorDia=29;}
			if((parseFloat(dia)>maiorDia)||(parseFloat(dia)<1)){
				problema=true;
			}
		}
	}
	else
	if(tamanho>0){
		problema=true;
	}
	if(problema){
		alert("Data Inválida!")
		PVobjeto.value="";
		PVobjeto.focus();
		return true;
	}
}

function fDataCompleta(PVobjeto){
	if(event.keyCode!=8){
		tamanho=PVobjeto.value.length;
		if(((tamanho==2)&&(PVobjeto.value.substring(1,2)!="/"))||((tamanho==5)&&!((PVobjeto.value.substring(3,4)=="/")||
			(PVobjeto.value.substring(4,5)=="/"))&&(PVobjeto.value.substring(1,2)!="/"))){
			PVobjeto.value=PVobjeto.value+"/";}
	}
}

function horaCompleta(objeto){
	if(event.keyCode!=8){
		tamanho=objeto.value.length;
		valor12=objeto.value.substring(1,2)
		valor34=objeto.value.substring(3,4)
		valor45=objeto.value.substring(4,5)
		if(((tamanho==2)&&!((valor12==":")||(valor12==",")||(valor12==".")))
			||((tamanho==5)&&(((valor34==":")||(valor34==",")||(valor34=="."))||!((valor45==":")||(valor45==",")||(valor45==".")))
			&&!((valor12==":")||(valor12==",")||(valor12==".")))){
			objeto.value=objeto.value+":";
		}
	}
}

function getCharByCode(paCod) {
	return String.fromCharCode(paCod);
}

function defineBrowser() {
	var agent = navigator.userAgent.toLowerCase();
	major = parseInt(navigator.appVersion);
	minor = parseFloat(navigator.appVersion);
	ns = ((agent.indexOf('mozilla')!=-1) && ((agent.indexOf('spoofer')==-1) && (agent.indexOf('compatible') == -1)));
	if ((ns && (major == 2)) || (ns && (major == 3)) || (ns && (major == 4)))
		return "NS4";
}

var navegador = defineBrowser()

function ir(paOnde) {
	document.location = paOnde
}

function abrejanela(PVurl,PVscrollbars,PVheight,PVwidth)
{
	window.open(PVurl,"_blank","height="+PVheight+",width="+PVwidth+",scrollbars="+PVscrollbars+",left=50,location=no,menubar=no,resizable=yes,status=yes,toolbar=no,top=50")
}
