function informaData(campo) {
	if (campo.value.length == 2 || campo.value.length == 5 ) {
		campo.value = campo.value + '/';
	}
}
/*************************************************************************************/
function ehData(dt) {
	if (dt != '') {
		data = new String(dt);
		dtPat = new RegExp("[0-3][0-9]/[0-1][0-9]/[1-2][0-9][0-9][0-9]");
		result = new String(data.match(dtPat));
		if(result!="null") {
			return true;
		}else {
			alert("Data inválida!\n"+data+"\nUse somente números e '/'");
			return false;
		}
	}else return false;
}

function validaCampos ()
{
	dtInicioVal = false;
	dtTerminoVal = false;
	contaCampos = 0;
	if (formJulgados.deEmenta.value        != "") contaCampos++;
	if (formJulgados.clDocumento.value     != "") contaCampos++;
	if (formJulgados.dtInicio.value        != "") contaCampos++;
	if (formJulgados.dtTermino.value       != "") contaCampos++;
	if (formJulgados.nuProcesso.value      != "") contaCampos++;
	if (formJulgados.cdClasse.selectedIndex > 0) contaCampos++;
	if (formJulgados.cdOrgaoJulgador.selectedIndex > 0) contaCampos++;
	if (formJulgados.cdRelator.selectedIndex > 0) contaCampos++;
	if (formJulgados.dtAssunto != null && formJulgados.dtAssunto.value != "") contaCampos++;

	//dr informou uma ou duas datas, pedir pelo menos mais um argumento.
	if (contaCampos == 0) {
		alert ('Você deve informar ao menos um argumento de busca.');
		formJulgados.deEmenta.focus();
		return false;
	}
	
	if (formJulgados.acordaos.checked == false && formJulgados.acordaosColegioRecursal.checked == false){
		alert('Você deve selecionar ao menos um tipo de decisão.');
		return false;
	}
	
	var cdClasseIdx = formJulgados.cdClasse.selectedIndex;
	if (cdClasseIdx > 0) {
		formJulgados.deClasse.value = formJulgados.cdClasse.options[cdClasseIdx].text;
	}
	else {
		formJulgados.deClasse.value = '';
	}

	var cdOjIdx = formJulgados.cdOrgaoJulgador.selectedIndex;
	if (cdOjIdx > 0) {
		formJulgados.deOrgaoJulgador.value = formJulgados.cdOrgaoJulgador.options[cdOjIdx].text;
	}
	else {
		formJulgados.deOrgaoJulgador.value = '';
	}

	var cdRelatorIdx = formJulgados.cdRelator.selectedIndex;
	if (cdRelatorIdx > 0) {
		formJulgados.nmRelator.value = formJulgados.cdRelator.options[cdRelatorIdx].text;
	}
	else {
		formJulgados.nmRelator.value = '';
	}

	anoInicio = 0;
	if ( ehData(formJulgados.dtInicio.value) ) {
		dia = 0;
		mes = 0;
		bissexto = 0;;
		dia = formJulgados.dtInicio.value.substring(0,2);
		mes = formJulgados.dtInicio.value.substring(3,5);
		anoInicio = formJulgados.dtInicio.value.substring(6,10);
		bissexto = anoInicio % 4;
		if (mes > 12 || mes < 1) {
			alert ('Data de início inválida');
			formJulgados.dtInicio.focus();
			return false;
		}
		if (dia > 31 || dia < 1) {
			alert ('Data de início inválida');
			formJulgados.dtInicio.focus();
			return false;
		}
		if (mes == 2 && dia > 29) {
			alert ('Data de início inválida');
			formJulgados.dtInicio.focus();
			return false;
		}
		if (mes == 2 && dia > 28 && bissexto > 0) {
			alert ('Data de início inválida');
			formJulgados.dtInicio.focus();
			return false;
		}
		if ( (mes==2 || mes==4 || mes==6 || mes==9 || mes==11) && dia>30) {
			alert ('Data de início inválida');
			formJulgados.dtInicio.focus();
			return false;
		}
		dtInicioVal = true;
	}

	anoTermino = 0;
	if ( ehData(formJulgados.dtTermino.value) ) {
		dia = 0;
		mes = 0;
		bissexto = 0;;
		dia = formJulgados.dtTermino.value.substring(0,2);
		mes = formJulgados.dtTermino.value.substring(3,5);
		anoTermino = formJulgados.dtTermino.value.substring(6,10);
		bissexto = anoTermino % 4;
		if (mes > 12 || mes < 1) {
			alert ('Data de término inválida');
			formJulgados.dtTermino.focus();
			return false;
		}
		if (dia > 31 || dia < 1) {
			alert ('Data de término inválida');
			formJulgados.dtTermino.focus();
			return false;
		}
		if (mes == 2 && dia > 29) {
			alert ('Data de término inválida');
			formJulgados.dtTermino.focus();
			return false;
		}
		if (mes == 2 && dia > 28 && bissexto > 0) {
			alert ('Data de término inválida');
			formJulgados.dtTermino.focus();
			return false;
		}
		if ( (mes==2 || mes==4 || mes==6 || mes==9 || mes==11) && dia>30) {
			alert ('Data de término inválida');
			formJulgados.dtTermino.focus();
			return false;
		}
		dtTerminoVal = true;
	}

	if (anoTermino != 0 && anoInicio != 0 && anoTermino - anoInicio > 20) {
		alert ('Intervalo de datas muito grande.\nPor favor diminua o intervalo.');
		formJulgados.dtInicio.focus();
		return false;
	}

	if (anoTermino != 0 && anoInicio != 0 && anoTermino - anoInicio < 0 ){
		alert ('Intervalo de datas inválido');
		formJulgados.dtInicio.focus();
		return false;
	}

	if (formJulgados.deEmenta.value.length > 500)
	{
		alert ("O resumo deve conter no máximo 500 caracteres.\nVocê digitou "+formJulgados.deEmenta.value.length+" caracateres.");
		formJulgados.deEmenta.focus();
		return false;
	}

	if (formJulgados.clDocumento.value.length > 500)
	{
		alert ("O texto livre deve conter no máximo 500 caracteres.\nVocê digitou "+formJulgados.clDocumento.value.length+" caracateres.");
		formJulgados.clDocumento.focus();
		return false;
	}
	
	if( (formJulgados.dtInicio.value != "") && (formJulgados.dtTermino.value != "") ) {
		if(dtInicioVal && dtTerminoVal) { 
			//alert ('Ambos true');
			return true; 
		} else { 
			//alert ('Um ou Ambos false');
			return false;
		}
	} else {
		if(formJulgados.dtInicio.value != "") {
			if(dtInicioVal)  {
				//alert ('fim branco e Inicio true');
				return true;
			} else { 
				//alert ('fim branco e Inicio false');
				return false; 
			}
		}else if(formJulgados.dtTermino.value != "") {
			if(dtTerminoVal)  { 
				//alert ('inicio branco e Fim true');
				return true; 
			} else { 
				//alert ('inicio branco e Fim false');
				return false; 
			}
		}else if( (formJulgados.dtInicio.value == "") && (formJulgados.dtTermino.value == "") ) {
			//alert("dois vazios");
			return true;
		}
	}
	
}
/*************************************************************************************/
function validaCamposIndex() {
	if (document.formJulgados.deEmenta.value == "" && document.formJulgados.clDocumento.value == "") {
		alert ("Você deve informar pelo menos um argumento.");
		document.formJulgados.deEmenta.focus();
		return false;
	}
}

/*************************************************************************************/

function popup(url, nome, params) {
	if (!nome) {
		nome = '';
	}
	if (!params) {
		params = 'location=no, toolbar=no, resizable=yes, width=800, height=600, scrollbars=yes';
	}
	window.open(url, nome, params);
	return false;
}