//Função para datas
function ValDat(dat)
{
	var d,m,a;
	if (dat.length < 10) {return false;}
	d = dat.substr(0,2); m =dat.substr(3,2); a = dat.substr(6,4);
	//verificando se d, m, a são números
	if(isNaN(parseInt(d))) {return false;} 
	if(isNaN(parseInt(m))) {return false;} 
	if(isNaN(parseInt(a))) {return false;} 
	
	if (m > 12) {return false;}
	
	if ((m == "01") || (m == "03") || (m == "05") || (m == "07") || (m == "08") || (m == "10") || (m == "12")) 
	{  	if ((d < 32) && (d > 0)){ return true; } }
	
	if (m == "04" || m == "06" || m == "09" ||m == "11") 
	{  	if ((d < 31) && (d > 0)){ return true; }  }
	
	if (m == "02") 
	{  	if (a%4 > 0) 
		{	if ((d < 29) && (d > 0)){ return true; }} 
		else {	if ((d < 30) && (d > 0)){ return true; }}}}

function jData(vDateName,vDateValue,sep) 
{
	var s,f,p,d,m,n,a;
	s = vDateValue;
	if  (s.length == 0) return false;
	d = new Date();
	n = d.getMonth()+1; 
	if (n < 10){ m = "0" + n; }
	else{ m = n; }
	a = d.getFullYear();
	p = s.indexOf(sep);
	while(p>=0) 
	{	if (p==1 || p==3) 
		{	p=p+1;
			s = s.substr(0,p-2) + "0" + s.substr(p-2,7);}
		s = s.substr(0,p) + s.substr(p+1,7);
		p = s.indexOf(sep);	}
	p = s.length;
	if (p == 6){
	 	if (s.substr(4,2) < 10) {  s = s.substr(0,4) + "20" + s.substr(4,2);}
		else if (s.substr(4,2) >= 10) {  s = s.substr(0,4) + "19" + s.substr(4,2);}}
	if (p == 5) {
		s = s.substr(0,4) + "0" + s.substr(4,1);
	 	if (s.substr(4,2) < 10) {  s = s.substr(0,4) + "20" + s.substr(4,2);}
		else if (s.substr(4,2) >= 10) {  s = s.substr(0,4) + "19" + s.substr(4,2);}}
	if (p == 4) s = s.substr(0,4) + a;
	if (p == 3) s = s.substr(0,2) + "0" + s.substr(2,1) + a;
	if (p == 2) s = s.substr(0,2) + m + a;
	if (p == 1) s = "0" + s + m + a;
	p = s.length;
	f = s;
	if (s.length > 1) {	f = s.substr(0,2) + sep + s.substr(2,2);}
	if (s.length > 3) {	f = f + sep + s.substr(4,4);}
	if (ValDat(f)) 
	{  vDateName.value = f;
	   return true;} 
	else 
	{  alert("Data inválida: "+f);
	   vDateName.value = "";
	   vDateName.focus();
	   return false;}}

function ValHor(hor)
{	var h,m;
	if (hor.length < 5) return false;
	h = hor.substr(0,2); 
	m =hor.substr(3,2);
	if (h < 24 && m < 60) return true;
	return false;}

function jHora(vDateName,vDateValue,sep) 
{	var s,f,p;
	s = vDateValue;
	if  (s.length == 0) return false;
	p = s.indexOf(sep);
	while(p>=0) 
	{
		if (p==1) 
		{	p=p+1;
			s = s.substr(0,p-2) + "0" + s.substr(p-2,4);};
		s = s.substr(0,p) + s.substr(p+1,4);
		p = s.indexOf(sep);	};
		
	p = s.length;
	if (p > 4) s = s.substr(0,4);
	if (p == 3) s = s.substr(0,2) + "0" + s.substr(2,1);
	if (p == 2) s = s.substr(0,2) + "00";
	if (p == 1) s = "0" + s.substr(0,2) + "00";
	
	f = s;
	f = s.substr(0,2) + sep + s.substr(2,2);
	
	if (ValHor(f)) 
	{  vDateName.value = f;
	return true;} 
	else 
	{  alert("Hora inválida: "+f);
	vDateName.value = "";
	vDateName.focus();
	return false;};
}
//Fim função datas



