function Valida(data_inicial, data_final, hora_inicial, hora_final)
{
	//validacao para data no formato timestamp

	if((data_inicial.length == 0) && (data_final.length == 0))
		return true; // Caso o usuário não digite as datas, nada mais é feito

	if((data_inicial.length < 10) || (data_final.length < 10))
	 {
		window.alert('É preciso digitar a data para publicação!');
		return false;
	}	// Verificando se ambas as datas foram digitadas


	//Verificando se a data e hora inicial não são superiores a data e hora final

	var ai = data_inicial.substring(6,10); //ano inicial
	var mi = (data_inicial.substring(3,5))-1; //mes inicial (javascript tem meses de 00 até 11
	var di = data_inicial.substring(0,2); //dia inicial
	var hi = hora_inicial.substring(0,2); //hora inicial
	var min_i = hora_inicial.substring(3,5); //minuto inicial
	var si = 00; //segundo inicial (arbitrariamente 00, pois aqui só se trata de 2 datas e nada mais)

	var af = data_final.substring(6,10); //ano final
	var mf = (data_final.substring(3,5))-1; //mes final
	var df = data_final.substring(0,2); //dia final
	var hf = hora_final.substring(0,2); //hora inicial
	var min_f = hora_final.substring(3,5); //minuto inicial
	var sf = 00; //segundo final

	//verificando se a hora inicial é válida
	if(((hi<0)||(hi>23))||((min_i<0)||(min_i>59))){
		alert("Hora inicial inválida!");
		return false;
	}

	//verificando se a hora final é válida
	if(((hf<0)||(hf>23))||((min_f<0)||(min_f>59))){
		alert("Hora final inválida!");
		return false;
	}

	var dti = new Date(ai, mi, di, hi, min_i, si); //objeto para data inicial
	var dtf = new Date(af, mf, df, hf, min_f, sf); //objeto para data final

	//Obtendo a data inicial e final em milissegundos
	var mili_ini = dti.getTime();
	var mili_fin = dtf.getTime();

	//verificando se a data de inicio é maior que a data de término
	if(mili_ini>mili_fin){
		alert("Data de início superior a data de término!");
		return false;
	}

	return true;

}

