// JavaScript Document
function valida_data(obj) {
         hoje = new Date();
         anoAtual = hoje.getFullYear();
         barras = obj.value.split("/");
         if (barras.length == 3){
                   dia = barras[0];
                   mes = barras[1];
                   ano = barras[2];
                   resultado = (!isNaN(dia) && (dia > 0) && (dia < 32)) && (!isNaN(mes) && (mes > 0) && (mes < 13)) && (!isNaN(ano) && (ano.length == 4) && (ano <= anoAtual && ano >= 1900));
                   if (!resultado) {
 //                            alert("Formato de data invalido!");
 //                            obj.focus();
                             return false;
                   }
         } else {
 //                  alert("Formato de data invalido!");
 //                  obj.focus();
                   return false;
         }
		 return true;
}

function checkform(of)
{
 var reqfields,em,i,f,ty;
 if(document.getElementById('required'))
 {
  reqfields=document.getElementById('required').value.split(',');
  if(document.getElementById('errormsg')){
   em=document.getElementById('errormsg');
   em.parentNode.removeChild(em);
  }
  for(i=0;i<reqfields.length;i++)
  {
   f=document.getElementById(reqfields[i]);
   if(f.previousSibling && /img/i.test(f.previousSibling.nodeName)){
    f.parentNode.removeChild(f.previousSibling);
   }
   f.style.background='#FFFFFF';
if(f){
    ty=f.type.toLowerCase();
    switch(ty)
    {
     case 'text':
      if(f.value==''){adderr(f.id,of)}    
	  if(f.id=='birth'){if (!valida_data(f)){adderr(f.id,of)}}  	     
     break;
     case 'textarea':
      if(f.value==''){adderr(f.id,of)}       
     break;
     case 'checkbox':
      if(!f.checked){adderr(f.id,of)}       
     break;
     default:
      if(f.value==''){adderr(f.id,of)}     
     break;	 	 
     /* extend as needed */
    }
   }
  }
 }
if(document.getElementById('errormsg'))
 {
  return false;
 }
}
function adderr(id,of)
{
 var se,i,nli,na;
 i=document.createElement('img');
 i.src='images/alert.gif';
 i.alt='Erro';
 i.title='Este campo não está preenchido corretamente!';
 se=document.getElementById(id);
 se.parentNode.insertBefore(i,se);
 se.style.background='#fcc';
if(!document.getElementById('errormsg')){
  var em=document.createElement('p');
  em.id='errormsg';
  em.style.border='2px solid #c00';
  em.style.padding='5px';
  em.style.width='20em';
  em.appendChild(document.createTextNode('Por favor preencha ou altere os campos marcados com um '));
  i=document.createElement('img');
  i.src='images/alert.gif';
  i.alt='Erro';
  i.title='Este campo não está preenchido corretamente!';
  em.appendChild(i);
for(var i=0;i<of.getElementsByTagName('input').length;i++)
  {
   nowelm=of.getElementsByTagName('input')[i];
   if(/submit/i.test(nowelm.getAttribute('type')))
   {
    var sb=nowelm;
    break;
   }
  }
  sb.parentNode.insertBefore(em,sb);
 }
if(id=='email' && !isEmailAddr(document.getElementById(id).value)){
  pn=document.createElement('p');
  pn.appendChild(document.createTextNode('Endereço de email inválido!'));
  document.getElementById('errormsg').appendChild(pn);
 }
if(id=='birth'){
  pn=document.createElement('p');
  pn.appendChild(document.createTextNode('Data inválida!'));
  document.getElementById('errormsg').appendChild(pn);
 } 
}
function isEmailAddr(str) 
{
    return str.match(/^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/);
}

function maskKeyPress(objEvent) 
{             
     var iKeyCode, strKey;
   
     iKeyCode = objEvent.keyCode;

     strKey = String.fromCharCode(iKeyCode);
     if (strKey == "-") return false;
}


function adddash (obj){
  len_code = 8; //comprimento do número de matrícula
  is_code = true;
  for (i=0;i<obj.value.length;i++) {
	if (obj.value.substr(i,1) > '9' || obj.value.substr(i,1) < '0') {
	  is_code = false;
	  break;
	}
  }
  if (is_code && (obj.value.length == len_code))
	obj.value = obj.value.substr(0,len_code) + "-";
}

