/*****************************************************************************
Funções para exibição e Conversão de Datas e Horas
By Sirlandio
*******************************************************************************/


//Criação do Objeto
function DataObj()
{
  this.ConverterData = ConverterData;
  this.Semana=Semana;
  this.Dia=Dia;
  this.Mes=Mes;
  this.Ano=Ano;
  this.getData = getData;
  this.getDataCompleta = getDataCompleta;    
  this.getDataInformix = getDataInformix;
  this.FormatarData=FormatarData;
  this.getDia = getDia;
  this.getMes = getMes;
  this.getMesExtenso = getMesExtenso;
  this.getAno = getAno;
  this.getSemana = getSemana;
  this.getSemanaCurta = getSemanaCurta;  
  this.criarData = criarData;
  this.comparaData = comparaData;
  this.verificaData = verificaData;
  this.verificaHora = verificaHora;
  this.comparaDuasDatas = comparaDuasDatas;
  this.verificaDataSRS = verificaDataSRS;
  this.criticaData = criticaData;
  this.validacaoPeriodo = validacaoPeriodo;
}
//**************** CRIAR DATA *******************************
var pDia="";
var pMes="";
var pAno="";
var pMesExtenso="";
var pSemana="";
var pSemanaCurta="";

function getDia()
{
	return pDia;
}
function getMes()
{
	return pMes;
}

function getAno()
{
	return pAno;
}

function getMesExtenso()
{
	return pMesExtenso;
}

function getSemana()
{
	return pSemana;
}
function getSemanaCurta()
{
	return pSemanaCurta;
}

function criarData(data)
{

	ano=data.substring(6,10);
	mes=data.substring(3,5);
	dia=data.substring(0,2);

	mes = mes-1;
	dataAtual = new Date();
	//Criando um objeto do tipo Data apartir do parâmetro dado
	pData = new Date(ano,mes,dia, dataAtual.getHours(), dataAtual.getMinutes(), dataAtual.getSeconds());
	pDia=pData.getDate();
	pMes = pData.getMonth() + 1;
	
	//CALCULANDO O MÊS
	if(pMes=="1"){pMesExtenso="Janeiro";}
	if(pMes=="2"){pMesExtenso="Fevereiro";}
	if(pMes=="3"){pMesExtenso="Março";}
	if(pMes=="4"){pMesExtenso="Abril";}
	if(pMes=="5"){pMesExtenso="Maio";}
	if(pMes=="6"){pMesExtenso="Junho";}
	if(pMes=="7"){pMesExtenso="Julho";}
	if(pMes=="8"){pMesExtenso="Agosto";}
	if(pMes=="9"){pMesExtenso="Setembro";}
	if(pMes=="10"){pMesExtenso="Outrubro";}
	if(pMes=="11"){pMesExtenso="Novembro";}
	if(pMes=="12"){pMesExtenso="Dezembro";}
	//*****************************************
	pAno = pData.getFullYear();
	
	//CALCULANDO A SEMANA
	if(pData.getDay()==0){pSemana="Domingo";pSemanaCurta="Domingo";}
	if(pData.getDay()==1){pSemana="Segunda-Feira";pSemanaCurta="Segunda";}
	if(pData.getDay()==2){pSemana="Terça-Feira";pSemanaCurta="Terça";}
	if(pData.getDay()==3){pSemana="Quarta-Feira";pSemanaCurta="Quarta";}
	if(pData.getDay()==4){pSemana="Quinta-Feira";pSemanaCurta="Quinta";}
	if(pData.getDay()==5){pSemana="Sexta-Feira";pSemanaCurta="Sexta";}
	if(pData.getDay()==6){pSemana="Sábado";pSemanaCurta="Sábado";}

}

//====================================================================================
function ConverterData(StrData,FormatoOrigem, FormatoDestino, AmPm)//Retorna uma String com o formato especificado
  {
	//StrData deve estar no formato dd/mm/yyyy ex: 21/05/2001
	
	  /* Formatos de datas
		SQL01 - Formato (yyyy-mm-dd hh:mm:ss:mmm) ex: 2001-05-16 00:00:00.000
		SQL02 - Formato (yyyy/mm/dd hh:mm:ss:mmm) ex: 2001/05/16 00:00:00.000
		SQL03 - Formato (mm/dd/yyyy hh:mm:ss:mmm) ex: 05/16/2001 00:00:00.000
		INFORMIX - Formato (yyyy-mm-dd hh:mm:ss) ex: 2001/05/16 00:00:00
		ORACLE - Formato (yyyy-mm-dd hh:mm:ss:m) ex: 2001-05-16 00:00:00.0
		DTSIMPLES - Fromato (dd/mm/yyyy) ex: 16/05/2001
		PROIV - Formato(aaaammdd) ex 20030204

	  */ 
   if ((StrData=="null") || (StrData=="") || (StrData=="nulo") || (StrData==" ")){return " ";}
   var iDia, iMes, iAno, iHora, iMinuto, iSegundo;
   
   //Obtendo o dia
   if (FormatoOrigem=="DTSIMPLES"){iDia = StrData.substring(0,2)};
   if (FormatoOrigem=="SQL01"){iDia = StrData.substring(8,10)};
   if (FormatoOrigem=="SQL02"){iDia = StrData.substring(8,10)};   
   if (FormatoOrigem=="SQL03"){iDia = StrData.substring(3,5)};   
   if (FormatoOrigem=="INFORMIX"){iDia = StrData.substring(8,10)};   
   if (FormatoOrigem=="ORACLE"){iDia = StrData.substring(8,10)};
   if (FormatoOrigem=="ORACLE01"){iDia = StrData.substring(2,4)};
   if (FormatoOrigem=="PROIV"){iDia = StrData.substring(6,8)};
   if ((iDia < 10)&&(iDia.length<2)){iDia = "0" + iDia}

   //Obtendo o Mês
   if (FormatoOrigem=="DTSIMPLES"){iMes = StrData.substring(3,5);}
   if (FormatoOrigem=="SQL01"){iMes = StrData.substring(5,7);}
   if (FormatoOrigem=="SQL02"){iMes = StrData.substring(5,7);}
   if (FormatoOrigem=="SQL03"){iMes = StrData.substring(0,2);}         
   if (FormatoOrigem=="INFORMIX"){iMes = StrData.substring(5,7);}            
   if (FormatoOrigem=="ORACLE"){iMes = StrData.substring(5,7);}
   if (FormatoOrigem=="ORACLE01"){iMes = StrData.substring(1,2)=="/"?StrData.substring(0,1):StrData.substring(0,2);}
   if (FormatoOrigem=="PROIV"){iMes = StrData.substring(4,6);}
   if ((iMes < 10) && (iMes.length < 2)) {iMes = "0" + iMes}
   
   //Obtendo o Ano
   if(FormatoOrigem=="DTSIMPLES"){iAno = StrData.substring(6,10);}
   if(FormatoOrigem=="SQL01"){iAno = StrData.substring(0,4);}   
   if(FormatoOrigem=="SQL02"){iAno = StrData.substring(0,4);}   
   if(FormatoOrigem=="SQL03"){iAno = StrData.substring(6,10);}  
   if(FormatoOrigem=="ORACLE"){iAno = StrData.substring(0,4);}       
   if(FormatoOrigem=="ORACLE01"){iAno = StrData.substring(5,9);}       
   if(FormatoOrigem=="INFORMIX"){iAno = StrData.substring(0,4);}      
   if(FormatoOrigem=="PROIV"){iAno = StrData.substring(0,4);}      

   //Obtendo a Hora, minutos e segundos
   iHora = StrData.substring(11,13);
   iMinuto = StrData.substring(14,16);
   iSegundo = StrData.substring(17,19);      

   
      
   if (FormatoDestino=="SQL01")
   {
     return iAno + "-" + iMes + "-" + iDia + (AmPm=="AM"?" 00:00:00.000":" 23:59:59.999");
   }
   if (FormatoDestino=="SQL02")
   {
     return iAno + "/" + iMes + "/" + iDia + (AmPm=="AM"?" 00:00:00.000":" 23:59:59.999");
   }
   if (FormatoDestino=="SQL03")
   {
     return iMes + "/" + iDia + "/" + iAno + (AmPm=="AM"?" 00:00:00.000":" 23:59:59.999");
   }
   if (FormatoDestino=="DTSIMPLES")
   {
     return iDia + "/" + iMes + "/" + iAno;
   }
   if (FormatoDestino=="hh:mm:ss")
   {
     return iHora + ":" + iMinuto + ":" + iSegundo;
   }
   if (FormatoDestino=="hh:mm")
   {
     return iHora + ":" + iMinuto;
   }
   if (FormatoDestino=="INFORMIX")
   {
     return iAno + "-" + iMes + "-" + iDia + (AmPm=="AM"?" 00:00:00":" 23:59:59");
   }
   if (FormatoDestino=="ORACLE")
   {
     return iAno + "-" + iMes + "-" + iDia + (AmPm=="AM"?" 00:00:00.0":" 23:59:59.9");
   }
   if (FormatoDestino=="PROIV")
   {
     return iAno +  iMes + iDia;
   }

  // return alert("Os formatos existentes são: SQL01, SQL02, SQL03, INFORMIX, ORACLE, DTSIMPLES e PROIV");
   
  }
 //====================================================================================
//Função para mostrar o dia da semana

function Semana(Formato)
{
	Data = new Date();
	vSemana = Data.getDay();
	if (vSemana == 0) {Formato=="Abrev"?vSemana = "Dom":vSemana = "Domingo";}
	if (vSemana == 1) {Formato=="Abrev"?vSemana = "Seg":vSemana = "Segunda-feira";}
	if (vSemana == 2) {Formato=="Abrev"?vSemana = "Ter":vSemana = "Terça-feira";}
	if (vSemana == 3) {Formato=="Abrev"?vSemana = "Qua":vSemana = "Quarta-feira";}
	if (vSemana == 4) {Formato=="Abrev"?vSemana = "Qui":vSemana = "Quinta-feira";}
	if (vSemana == 5) {Formato=="Abrev"?vSemana = "Sex":vSemana = "Sexta-feira";}
	if (vSemana == 6) {Formato=="Abrev"?vSemana = "Sáb":vSemana = "Sábado";}
	return vSemana
}
//====================================================================================
//Função para mostrar o dia do mês

function Dia()
{
	Data = new Date();
	vDia = Data.getDate();
	if (vDia<10) {vDia = "0" + vDia;}
    return vDia;
}
//====================================================================================
//Função para mostrar o mês


function Mes(Formato)
{
	Data = new Date();
	vMes = Data.getMonth() + 1;
	
	if (Formato=="mm") {vMes<10?vMes = "0" + vMes:vMes}
    else
	  {
		if (vMes==1){Formato=="mmm"?vMes="Jan":vMes="Janeiro";}
		if (vMes==2){Formato=="mmm"?vMes="Fev":vMes="Fevereiro";}
		if (vMes==3){Formato=="mmm"?vMes="Mar":vMes="Março";}
		if (vMes==4){Formato=="mmm"?vMes="Abr":vMes="Abril";}
		if (vMes==5){Formato=="mmm"?vMes="Mai":vMes="Maio";}
		if (vMes==6){Formato=="mmm"?vMes="Jun":vMes="Junho";}
		if (vMes==7){Formato=="mmm"?vMes="Jul":vMes="Julho";}
		if (vMes==8){Formato=="mmm"?vMes="Ago":vMes="Agosto";}
		if (vMes==9){Formato=="mmm"?vMes="Set":vMes="Setembro";}
		if (vMes==10){Formato=="mmm"?vMes="Out":vMes="Outubro";}
		if (vMes==11){Formato=="mmm"?vMes="Nov":vMes="Novembro";}
		if (vMes==12){Formato=="mmm"?vMes="Dez":vMes="Dezembro";}
	  }
   return vMes;
}

function Ano(Formato)
{
	Data = new Date();
	var vAno = Data.getFullYear();
	if (Formato=="yy"){vAno=vAno.substring(0,2);}
	return vAno;

	
}

function getData()
{
	return Dia() + '/' + Mes('mm') + '/' + Ano();
}

function getDataInformix()
{
	return Ano() + '-' + Mes('mm') + '-' + Dia() + ' 00:00:00';
}

function FormatarData(strData)//Método a ser usado no evento onKeyPress nos campos de Datas
{
var dia, mes, ano, tamanho;
tamanho = strData.length;
if (tamanho==0){return "";}
if (tamanho==2) 
  {
    if (strData.substrng(1,2)!="/")
	  {
	    dia = strData.substring(0,2) + "/";
		return dia;
	  }
  }
if (tamanho==5)
  {
    if (strData.substrng(4,5)!="/")
	 {
	  	dia = strData.substring(0,2) + "/";
	  	mes = strData.substring(3,5) + "/";
	  	return dia + mes;
	 }
  }
return strData;
}


  function formataDataymd(obj) {
    return obj.getYear() + "" + verificarDigitos(obj.getMonth()) + "" + verificarDigitos(obj.getDate());
  }

  function formataDataUS(param) {
    var dia = param.substring(0, param.indexOf("/"));
	param = param.substring(param.indexOf("/") + 1, param.length);
	var mes = param.substring(0, param.indexOf("/"));
	param = param.substring(param.indexOf("/") + 1, param.length);
	var ano = param;

    dia = verificarDigitos(dia);
    mes = verificarDigitos(mes);

	return mes + "/" + dia + "/" + ano;
  }
  function verificarDigitos(value) {
    return value < 10 ? "0" + value : value;
  }

  function diaMaximoMes(mes, ano) {
    var res = 0;
    switch (parseFloat(mes)) { 
      case 1: case 3: case 5: case 7: case 8: case 10:
      case 12: res = 31; break;
      case 4: case 6: case 9:
      case 11: res = 30; break;
      case 2: res = (parseFloat(ano/4) == parseInt(ano/4)) ? 29 : 28;
    }
    return parseFloat(res);
  }

  function somaData(dataObj, diasParam) {
    var dia = parseFloat(dataObj.getDate());
    var mes = parseFloat(dataObj.getMonth() + 1);
    var ano = parseFloat(dataObj.getFullYear());
    for (i = 1; i <= diasParam; i++) {
      dia++;
      if (dia > diaMaximoMes(mes, ano)) {
        dia = 1;
        mes++;
        if (mes > 12) {
          mes = 1;
          ano++;
        }
      }
    }
    dataObj.setDate(dia);
    dataObj.setMonth(--mes);
    dataObj.setYear(ano);
    return dataObj;
  }

  function comparaData(dataParam, diasParam) {
    var dataReferencia = somaData(new Date(), diasParam);
    var data = new Date(formataDataUS(dataParam));
	alert("menor: " + formataDataymd(dataReferencia));
	alert("maior: " + formataDataymd(data));
    if(formataDataymd(dataReferencia) < formataDataymd(data)) {
		alert(dataParam);
      if (diasParam == 0) {
        alert("A data não pode ser maior que a data de hoje");
	  } else if (diasParam > 0) { 
        alert("A data não pode ser maior que " + verificarDigitos(dataReferencia.getDate()) + '/' + 
		                                         verificarDigitos((dataReferencia.getMonth() + 1)) + '/' + 
												 dataReferencia.getFullYear());
	  }
      return false;
    }
    return true;
  }

  // 0: datas iguais, 1 - primeira data maior, 2 - segunda data maior
  function comparaDuasDatas(dataParam1, dataParam2) {
	//coloca a data no formato aaaammdd
	var data1 = dataParam1.substring(6,10) + dataParam1.substring(3,5) + dataParam1.substring(0,2);
	var data2 = dataParam2.substring(6,10) + dataParam2.substring(3,5) + dataParam2.substring(0,2);
	
	return (data1 == data2) ? 0 :
           (data1 > data2) ? 1 : 2;
  }

function verificaData(data1, data2)
{
	//00/00/0000
	ano1 = data1.substring(6,10);
	mes1 = data1.substring(3,5);
	dia1 = data1.substring(0,2);
	mes1 = mes1 * 30;
	tData1 = ano1 + mes1 + dia1;
	
	ano2 = data2.substring(6,10);
	mes2 = data2.substring(3,5);
	dia2 = data2.substring(0,2);
	mes2 = mes2 * 30;
	tData2 = ano2 + mes2 + dia2;

	if(tData1 < tData2)
	 {
	 	alert("Data 1 menor");
	 }
	if(tData1 > tData2)
	 {
	 	alert("Data 1 maior");
	 }
	 if(tData1 == tData2)
	  {
	  	alert("igual");
	  }
	
}

function verificaHora(phora)
{
	dataAtual = new Date();
	hora = dataAtual.getHours();
	minuto = dataAtual.getMinutes();
	if(hora<10)
	 hora = "0"+hora;
	 
	if(minuto<10)
	 minuto="0"+minuto;
	 
	horaAtual = hora + "" + minuto;
	if(phora<horaAtual)
	 {
	 	alert("A hora não pode ser menor que " + hora + ":" + minuto);
		return false;
	 }
	return true;
}

function verificaDataSRS(pData, pHora, pMinuto,pMinimoDias)
{
//Pegando os parametros da data atual
	dataAtual = new Date();
	diaAtual = dataAtual.getDate();
	diaAcrescido = dataAtual.getDate()+parseInt(pMinimoDias);	
	mesAtual = (dataAtual.getMonth()+1).toString();
	anoAtual = dataAtual.getFullYear().toString();
	horaAtual = dataAtual.getHours().toString();
	minutoAtual = dataAtual.getMinutes().toString();

	if(diaAtual<10){diaAtual="0"+diaAtual;}
	if(mesAtual<10){mesAtual="0"+mesAtual;}
	if(horaAtual<10){horaAtual="0"+horaAtual;}
	if(minutoAtual<10){minutoAtual="0"+minutoAtual;}

	dataAtualConvertida = anoAtual + mesAtual +  diaAtual;

	maximoDia = diaMaximoMes(mesAtual,anoAtual);
	if(diaAcrescido > maximoDia)
	 {
	 	diaAcrescido-=maximoDia;
		mesAtual+=1;
	 }
	dataAcrescidaConvertida = anoAtual + mesAtual  + diaAcrescido;
	
		 
//Pegando os parametros da data digitada pelo usuario

	dia=pData.substring(0,2);
	mes=pData.substring(3,5);
	ano=pData.substring(6,10);
	hora = pHora;	
	minuto= pMinuto;

//	if(parseInt(mes)<10){mes="0"+mes;}
	pDataConvertida = ano + mes + dia;
	
	dataAtualConvertida = parseInt(dataAtualConvertida);
	pDataConvertida=parseInt(pDataConvertida);
	dataAcrescidaConvertida = parseInt(dataAcrescidaConvertida);
	
	//alert(dataAtualConvertida+"|"+dataAcrescidaConvertida+"|"+pDataConvertida);
	if (pDataConvertida>dataAtualConvertida) { //Verificando se é maior que a data de hoje 
	 	alert("A data não pode ser maior que a data atual");
		return false;
	} else {
		return true;
	}
	
}

function getDataCompleta()
{
	return Dia() + ' de ' + Mes('mmmm') + ' de ' + Ano('yyyy');
}


/*
 * Função que critica a data. Critica dia, mês e ano.
 * 
 * AUTOR: Guilherme
 * DATA: 01/09/2004
 * USO: criticaData("document.form.data");
 */
function criticaData(dscCampo) {
	var campo = eval(dscCampo);
	
	temerro=false;
	var i=0;
	
	if (campo.value.length == 8 || campo.value.length == 10) {  
		dia = campo.value.substr(0,2);
		mes = campo.value.substr(3,2);
		ano = campo.value.substr(6);
		tabdia="31"
		if (mes < "01" || mes > "12") {
			alert('Mes Inválido');
			campo.focus();
			return false; 	 
		} else {
			if ((ano % 4) == 0) {
				tabdia+="29";
			} else {
				tabdia+="28"; 
			} 
			tabdia+="31303130313130313031";
			if (dia < "01" || dia > tabdia.substr(mes*2-2,2)) {
				alert('Dia Inválido');
				campo.focus();
				return false; 	 
			}
		}
		if (ano.length == 2) {
			Today = new Date();
			if (2000 + ano > Today.getFullYear()) {
				ano = "19" + ano;
			} else {
				ano = "20" + ano;
			}  
		}
		if (ano < "1870" || ano > "2100") {
			alert('Ano Inválido');
			campo.focus();
			return false; 	 
		}
	} else if (campo.value == '') {
		return true;
	} else {  
		alert('Data Inválida');
		campo.focus();
		return false; 	 
	}
	return true;
}

/*
 * Função que critica o período, se a data passada é anterior à segunda ou não. Faz a crítica das datas passadas.
 * 
 * AUTOR: Guilherme
 * DATA: 15/09/2004
 * USO: validacaoPeriodo("document.form.dataInicio", "document.form.dataFim", true);
 */
function validacaoPeriodo(dscDtInicio, dscDtFim) {
	if (!criticaData(dscDtInicio)) {
		return false;
	}
	if (!criticaData(dscDtFim)) {
		return false;
	}

	campoDtInicio = eval(dscDtInicio);
	campoDtFim = eval(dscDtFim);
	
	if (comparaDuasDatas(campoDtInicio.value, campoDtFim.value) == 1) {
		alert("A data final deve ser igual ou posterior à data inicial.");
		campoDtFim.focus();
		return false;
	}
	return true;
}

/*
 * Função que formata a data a medida em que esta é digitada
 * 
 * AUTOR: Guilherme
 * DATA: 01/09/2004
 * USO: onKeyPress="formataData(this, event);"
 */
function formataData(campo, teclapres) {
	var tecla = teclapres.keyCode;
	
	if ( tecla != 9 && tecla != 8 ) {
		//deixa apenas números no campo
		campo.value = campo.value.replace(/\D/g, "");
		// somasse 1 ao valor do tamanho do campo pois o evento é disparado antes da alteração do valor do campo
		var tam = campo.value.length + 1;
		if ( tam > 2 && tam < 5 ) {
			campo.value = campo.value.substr( 0, 2 ) + '/' + campo.value.substr( 2 );
		}
		if ( tam >= 5 && tam <= 10 ) {
			campo.value = campo.value.substr( 0, 2 ) + '/' + campo.value.substr( 2, 2 ) + '/' + campo.value.substr( 4, 4 ); 
		}
	}
}


/*
 * Função que critica a data. Critica dia, mês e ano.
 * 
 * AUTOR: Guilherme
 * DATA: 01/09/2004
 * USO: criticaData("document.form.data");
 */
function criticaData(dscCampo) {

	var campo = eval(dscCampo);
//	if(campo.value == "")return false;	
	temerro=false;
	var i=0;
	
	if (campo.value.length == 8 || campo.value.length == 10) {  
		dia = campo.value.substr(0,2);
		mes = campo.value.substr(3,2);
		ano = campo.value.substr(6);
		tabdia="31"
		if (mes < "01" || mes > "12") {
			alert('Mes Inválido');
			campo.focus();
			return false; 	 
		} else {
			if ((ano % 4) == 0) {
				tabdia+="29";
			} else {
				tabdia+="28"; 
			} 
			tabdia+="31303130313130313031";
			if (dia < "01" || dia > tabdia.substr(mes*2-2,2)) {
				alert('Dia Inválido');
				campo.focus();
				return false; 	 
			}
		}
		if (ano.length == 2) {
			Today = new Date();
			if (2000 + ano > Today.getFullYear()) {
				ano = "19" + ano;
			} else {
				ano = "20" + ano;
			}  
		}
		if (ano < "1870" || ano > "2100") {
			alert('Ano Inválido');
			campo.focus();
			return false; 	 
		}
	} else if (campo.value == '') {
		return true;
	} else {  
		alert('Data Inválida');
		campo.focus();
		return false; 	 
	}
	return true;
}

/*
 * Função que critica a hora no formato hh:mm.
 * 
 * AUTOR: Guilherme
 * DATA: 01/09/2004
 * USO: criticaHora("document.form.data");
 */
function criticaHora(dscCampo) {
	var campo = eval(dscCampo);
	
	if(campo.value == '') {
		return true;
	}
	
	if (campo.value.length == 5) {  
		hh = campo.value.substr(0,2);
		mm = campo.value.substr(3);
		if ((hh >= '0' && hh <= '23')&&(mm >= '00' && mm <= '59')) {
			return true;
		}
	} 

	alert('Horário Inválido');
	campo.focus();
	return false;
}

/*
 * Função que critica o período, se a data passada é anterior à segunda ou não. Faz a crítica das datas passadas.
 * 
 * AUTOR: Guilherme
 * DATA: 15/09/2004
 * USO: validacaoPeriodo("document.form.dataInicio", "document.form.dataFim");
 */
function validacaoPeriodo(dscDtInicio, dscDtFim) {
	if (!criticaData(dscDtInicio)) {
		return false;
	}
	if (!criticaData(dscDtFim)) {
		return false;
	}
	
	var campoDtInicio = eval(dscDtInicio);
	var campoDtFim = eval(dscDtFim);
	
	var dtInicio = campoDtInicio.value.replace(/\D/g, "");
	var dtFim = campoDtFim.value.replace(/\D/g, "");
	
	//coloca a data no formato yyyymmdd	
	var valorDtInicio = dtInicio.substring(4) + dtInicio.substring(2,4) + dtInicio.substring(0,2);
	var valorDtFim = dtFim.substring(4) + dtFim.substring(2,4) + dtFim.substring(0,2);
	
	if (valorDtInicio > valorDtFim) {
		alert("A data final deve ser igual ou posterior à data inicial.");
		campoDtFim.focus();
		return false;
	}
	return true;
}

/*
 * Função que critica o período, se a data passada é anterior à segunda ou não. Faz a crítica das datas passadas. 
 * 
 * AUTOR: Guilherme
 * DATA: 15/09/2004
 * USO: validacaoPeriodo("document.form.dataInicio", "document.form.dataFim", "document.form.dataFim");
 * OBS: Os campos devem possuir o atributo "alt"
 *      O último (3º) parâmetro é o campo que receberá o foco caso o período não seja válido
 */
function validacaoPeriodo(dscDtInicio, dscDtFim, dscCampoFoco) {
	if (!criticaData(dscDtInicio)) {
		return false;
	}
	if (!criticaData(dscDtFim)) {
		return false;
	}

	var campoDtInicio = eval(dscDtInicio);
	var campoDtFim = eval(dscDtFim);
	var campoFoco = eval(dscCampoFoco);
	
	var dtInicio = campoDtInicio.value.replace(/\D/g, "");
	var dtFim = campoDtFim.value.replace(/\D/g, "");
	
	//coloca a data no formato yyyymmdd	
	var valorDtInicio = dtInicio.substring(4) + dtInicio.substring(2,4) + dtInicio.substring(0,2);
	var valorDtFim = dtFim.substring(4) + dtFim.substring(2,4) + dtFim.substring(0,2);
	if (valorDtFim==""){return true};
	if (valorDtInicio > valorDtFim) {
		alert("A " + campoDtFim.alt + " deve ser igual ou posterior à " + campoDtInicio.alt + ".");
		campoFoco.focus();
		return false;
	}
	return true;
}
