//tipos de botões--respostas
var vbYes=1;
var vbNo=2;
var vbOK=1;
var vbOkCancel=2;
var vbYesNoCancel=3;
var vbYesNo=4;
var vbCancel=5

function validaForm(){
	erro=0;
	texto = form1.texto.value;

	var a=form1.iu.checked;
	var b=form1.nome.checked;
	var c=form1.ref.checked;
	var d=form1.autor.checked;
	var e=form1.email.checked;		
	var f=form1.tema.checked;				
	var g=form1.base.checked;	
	if ((a!=true)&&(b!=true)&&(c!=true)&&(d!=true)&&(e!=true)&&(f!=true)&&(g!=true)) 
	{
		if (texto!="") 
		{
		alert("Pelo menos um campo para pesquisa deve ser escolhido");
		document.form1(3).focus();		
		erro=1;	
		}		
	}
	
	else
	{
		if (texto=="") 
		{
		alert("Informe o texto para pesquisa");
		document.form1.texto.focus();		
		erro=1;	
		}		
	}	

	if (erro==0)
	{
	 if(form1.dataIni.value!="")
	 {	 
		var bol = true;
		bol = isDate(form1.dataIni.value,3);
		if(!bol) 
		{
			form1.dataIni.focus();
			erro=1;			
		}			
	 }	
	}


	if (erro==0)
	{
	 if(form1.dataIni.value!="")
	 {		
		var bol = true;
		bol = isDate(form1.dataFim.value,3);
		if(!bol) 
		{
			form1.dataFim.focus();
			erro=1;			
		}		
	 }				
	}


	if (erro==0)
	{
	 if(form1.dataIni.value!="" && form1.dataFim.value!="")
	 {		
		dataini = form1.dataIni.value
		datafim = form1.dataFim.value		 		
		if(compara_datas(dataini,datafim)==1)
		{ 
			alert("Data inicial maior que data final");
			form1.dataIni.focus();
			erro=1;
		} 	
	 }		
	}


	
	if (erro==0)
	{
	    form1.action="public_rel.asp";
		form1.submit();
	}
	
}



function isDate(dateStr,tp) {
//checa a data pro formato dd/mm/aaaa
var now = new Date(); 
if (dateStr.length==10)
{
	var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{4})$/;
	var matchArray = dateStr.match(datePat); //

	if (dateStr.length!=10)
	{
	
	 alert("Data inválida! Coloque a data no formato dd/mm/aaaa.") 
	 return false;
	}
	if (matchArray == null) {
	alert("Data inválida! Coloque a data no formato dd/mm/aaaa.")
	return false;
	}
	month = matchArray[3];       
	day = matchArray[1];       
	year = matchArray[4] ; 
	data_aux=day+"/"+month+"/"+year;  
	if (day < 1 || day > 31) {
	
		alert('Dia tem que ser entre 1 e 31.')
	// alert("Dia tem que ser entre 1 e 31.");
	return false;
	}
	if (month < 1 || month > 12) { // checa o mês
		alert('Mês  tem que ser entre 1 e 12.')
	// alert("Mês  tem que ser entre 1 e 12.");
	return false;
	}
	//verifica o tipo de data e valida o ano
	if((tp==1)&&(year<1900))//tp=1 datanormal
	{
		alert('Ano inválido')
		return false;
	}
	if((tp==2)&&((year<1900)||(year > now.getYear()+1)))//tp=2 data prevista;
	{
		alert('O ano digitado não pode ser superior a ' + (now.getYear()+1))
		return false;
	}
	if((tp==3)&&((year<1900)||(year > now.getYear())))//tp=3 data realizada;
	{
		alert('O ano digitado não pode ser superior ao ano corrente.')
		return false;
	}
	if((tp==3)&&(Compara_DataCorrente(data_aux)==false))//tp=3 data realizada;
	{
		return false;
	}
	if ((month==4 || month==6 || month==9 || month==11) && day==31) {
		alert('Data inválida. Mês não pode ser maior que 31')
	// alert("Data inválida. Mês não pode ser maior que 31")
	return false
	}
	if (month == 2) { // checa fevereiro
	var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
	if (day>29 || (day==29 && !isleap)) {
	
	alert('Data inválida. Fevereiro só possui 28 dias no ano escolhido')
	// alert("Data inválida. Fevereiro só possui 28 dias no ano escolhido");
	return false;
	   }
	} 
}

else
{
	if (dateStr.length!=0)
	{
	alert("Data inválida! Coloque a data no formato dd/mm/aaaa.")
	return false;
	}
}	
return true;  // date é válida
}



function compara_datas(data1,data2){

dia1= data1.substr(0,2);
mes1= data1.substr(3,2);
// datas no formato dd/mm/yyyy
if(data1.length==10)
{
ano1=data1.substr(6,4);
}
else
{
ano1="20" + data1.substr(6,2);
}

dia2= data2.substr(0,2);
mes2= data2.substr(3,2);
// datas no formato dd/mm/yy
if(data2.length==10)
{
ano2=data2.substr(6,4);
}
else
{
ano2="20" + data2.substr(6,2);
}


if(ano2 <  ano1)
   return 1;
   //data 1 maior que data2
if(ano2==ano1)
   {
     if(mes2<mes1)
       return 1;
       //data 1 maior que data2
   }
if((ano2==ano1)&&(mes2==mes1))
     if(dia2<dia1)
         return 1;
if((ano2==ano1)&&(mes2==mes1)&&(dia2==dia1))
{
 //datas iguais
  return 0;
}        

return 2; //data 2 maior que data1
// data 2 maior que data 1
	
}		
