function isDateFmt( data, format ){
	var tdate, ad, rd, dm, tmpstr, pDay, pMonth, pYear;
	format = format.toUpperCase();
	pDay = format.indexOf('D');
	pMonth = format.indexOf('M');
	pYear = format.indexOf('Y');
	dm = new Array(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
	data = data.toString().replace(/\-/gi, "/");
	ad = data.split('/');
	if (ad.length != format.length) return false;
	if((ad[pMonth]>=1 && ad[pMonth]<=12)==false) return false;
	if(Math.floor(ad[pYear]/4)*4==ad[pYear]) dm[1] = 29;
	if(ad[pYear].toString().length != 4) return false;
	if((ad[pDay]>=1 && ad[pDay]<=dm[ad[pMonth]-1])==false) return false;
	for(i=0; i<ad.length; i++)
	{	
		if ((isEmpty(ad[i])) || (!isNumber(ad[i])) || (parseInt(ad[i])<0)) return false;
	}
	return true;
}

function isEmpty(text){
   var enter1 = "\n",
       enter2 = "\r",
       espaco = " ",
       tab = "\t";

   if (text =="") return true;

   //A verifica se o caracter selecionada possui valor vahlido
   for (var indice = 0; indice < text.length; indice++){
      if (text.charAt(indice) != espaco && 
         text.charAt(indice) != tab &&
         text.charAt(indice) != enter1 && 
         text.charAt(indice) != enter2 )
         return false;
   }
   return true;
}

function isNumber(numero)
{
   var CaractereInvalido = false;

   for (i=0; i < numero.length; i++){
      var Caractere = numero.charAt(i);
      if(Caractere != "." && Caractere != "," && Caractere != "-"){
         if (isNaN(parseInt(Caractere))) CaractereInvalido = true;
      }
   }

   return !CaractereInvalido;
}
