/*
**************************************************************
Descrição: Função para validação de data
Autor: Victor Shimura Goldszmit
Exemplo de chamada: valida_data(data)
Obs: a data deve vir no Padrao Brasileiro-"dd/mm/yyyy"
Retorno: retorna um booleano
**************************************************************
*/
function valida_data(objInput, strMsg) {
	if(!eData(objInput.value)) {
		objInput.select();
		alert(strMsg);
		return(false);
	}
	return(true);
}

function eData(valor){
  var data = valor;
  var barra1 = data.indexOf('/');
  var barra2 = data.lastIndexOf('/');
  var ano = data.substring(barra2+1, data.length);
  var dia = data.substring(0,barra1);
  var mes = data.substring(barra1+1,barra2);
  var anoMod  = ano%4;
  var mesMod  = mes%2;
  var msg;
  var retorno = true;
  //verifica as barras
  if ((barra1==-1) || (barra1==barra2))
	{ retorno=false; }
  // verifica se os campos dia, ano , mes são numéricos e se possuem a quantidade de caracteres suficientes
  if  ((isNaN(ano)) || (isNaN(dia)) || (isNaN(mes))  || (ano<1900)  || (ano>2200) || (mes < 1)|| (mes > 12) ||(dia > 31)|| (dia < 1) )   
	{ retorno=false; }
  // ferifica o mes de fevereiro
  if ((((anoMod != 0) && (dia > 28)) || ((anoMod==0) && (dia > 29))) && (mes == 2))
		{ retorno=false; }
	if (mesMod == 1) 
	 { if  ((mes >= 9) &&  (dia >30)) 	
		{		retorno=false; } }
	else
		{ if  ((mes < 7 ) &&  (dia >30)) 	
		{		retorno=false; } }
	if (retorno==false && valor!='')
		{
		return (false);}
	else
	 { return (true); }
}

function cData(pData) {
/*Converte as strings de data num datetime*/
var data = pData;
var barra1 = data.indexOf('/');
var barra2 = data.lastIndexOf('/');
var ano = parseInt(data.substring(barra2+1, data.length));
var dia = parseInt(data.substring(0,barra1));
var mes = parseInt(data.substring(barra1+1,barra2)) -1;

var dRetorno = new Date()
dRetorno.setHours(0);
dRetorno.setMinutes(0);
dRetorno.setSeconds(0);
dRetorno.setYear(ano);
dRetorno.setMonth(mes);
dRetorno.setDate(dia);
return (dRetorno);
}

function OrdemDatas(data1, data2)
{
	var d1 = new String;
	var d2 = new String;
	var a1;
	var a2;
	
	d1 = data1;
	d2 = data2;
	
	a1 = d1.split('/');
	a2 = d2.split('/');
	
	d1 = parseInt( a1[2] + a1[1] + a1[0] );
	d2 = parseInt( a2[2] + a2[1] + a2[0] );
	
	if ( d1 > d2 )
	{
		return false;
	}
	else
	{
		return true;
	}
}
