// Seleciona ou deseleciona todos os itens de um conjunto
function Checkbox_Todos_Nenhum(formulario) {	
	var todos;
	if (formulario.ck_Todos.checked){todos='Sim';}
	else{todos='Nao';}
	for (i = 0; i < formulario.elements.length; i++) {
		if ((formulario.elements[i].type == "checkbox") && 
			(formulario.elements[i].name != "ck_Todos")) {
			if (todos == 'Sim'){formulario.elements[i].checked = true;}
			else {formulario.elements[i].checked = false;}
		} 
	}
}

function RefreshImage(valImageId) {
	var objImage = document.images[valImageId];
	if (objImage == undefined) {
		return;
	}
	var now = new Date();
	objImage.src = objImage.src.split('?')[0] + '?x=' + now.toUTCString();
}

function acessoRevista(revista){
	var resultado = function(t) {
		//alert('ok')
	}
	var errFunc = function(t){
	    alert(t.responseText);
		//alert('Erro ' + t.status + ' -- ' + t.statusText);
	}
	new Ajax.Request('acesso_revistas_ajax.asp?revista='+revista, 
	   {onSuccess:resultado, 
		onFailure:errFunc
	});
}
//------------------------------------------------------------
function maxdig(txarea,total) { 
//------------------------------------------------------------
	/*
	Descrição: faz controle do tamanha máximo de texto 
			permitido no textarea

	Criado em.....: 09/10/2002
	Por...........: Cesar Tofanini
	
	Alterado em ..: 09/10/2002
	Por...........: Cesar Tegani Tofanini
	OBS:
	*/
	tam = txarea.value.length; 
	str = ""; 
	str = str+tam; 

	eval(txarea.name+"Digitado.innerHTML = str;");
	eval(txarea.name+"Restante.innerHTML = total - str;");

	if (tam > total){ 
		aux = txarea.value; 
		txarea.value = aux.substring(0,total); 
		eval(txarea.name+"Digitado.innerHTML = total;");
		eval(txarea.name+"Restante.innerHTML = 0;");
	} 
} 

function verificaAno(ano,campo){
	if (ano == '') return;
	var data = new Date();
	ano_atual = data.getFullYear();
	
	if (ano > ano_atual){
		alert('Ano maior que o ano atual');
		$(campo).focus();
	}
	
	if (ano.length < 4){
		alert('Preencha o ano com 4 dígitos');
		$(campo).focus();
	}
}

function datas(data,campo){
 var data1 = new Date();
 ano1 = data1.getFullYear();
 var data2 = new Date(data);
 ano2 = data2.getFullYear();
 
 dif = ano1 - ano2
 if (dif == 0){
	alert('Por favor, verifique a data de nascimento.\n O ano de nascimento não pode ser igual ao ano atual.')
	$(campo).focus();
 }
 if (dif < 0){
  alert('Por favor, verifique a data de nascimento.\n O ano de nascimento não pode ser maior do que o ano atual.')
  $(campo).focus();
  }
 //if (dif > 0 && dif < 18)
  //alert('até 18 anos')
}

function localizaSocio(cpf){
	if (cpf == '') return;
	var resultado = function(t) {
		if (t.responseText == 'NAO'){
			alert('O CPF informado não foi encontrado no cadastro de sócios da SBN.');
			$("nome_responsavel").value = '';
			document.form.cpf_responsavel.focus();
		}
		else{
			//alert('OK')
			var data = t.responseText.split(";");
			$("nome_responsavel").value = data[0];
			$("email_socio").value = data[1];
		}
	}
	var errFunc = function(t){
	    //alert(t.responseText);
		alert('Erro ' + t.status + ' -- ' + t.statusText);
	}
	new Ajax.Request('socio_ajax.asp?cpf='+cpf, 
	   {onSuccess:resultado, 
		onFailure:errFunc
	});
}

function localizaEmail(email,campo){
	if (email == '') return;
	var resultado = function(t) {
		if (t.responseText == 'Duplicado'){
			alert('O e-mail informado já consta em nossa base de dados, como sendo de outra pessoa.\n Informe outro endereço.')
			$(campo).value = '';
		}
	}
	var errFunc = function(t){
	    //alert(t.responseText);
		alert('Erro ' + t.status + ' -- ' + t.statusText);
	}
	new Ajax.Request('localiza_email_ajax.asp?email='+email, 
	   {onSuccess:resultado, 
		onFailure:errFunc
	});
}

function doUnload(){
	if (window.screenTop > 10000) {
		alert('Window was closed!'); 
		logOff();
	} 	
}

function logOff(){
    var resultado = function(t) {
        alert('Logoff realizado com sucesso!')
		window.location.reload();
    }
    var errFunc = function(t) {
        alert(t.responseText);
        //alert('Erro ' + t.status + ' -- ' + t.statusText);
    }
    new Ajax.Request('logoff.asp',{onSuccess: resultado,onFailure: errFunc});
}

function validarUser(){
	var usuario = $F("user");
	var senha = $F("pws");
	if (usuario == ''){
		alert('O preenchimento CPF obrigatório!')
		$("user").focus();
		return;
	}
	if (senha == ''){
		alert('Senha obrigatória!')
		$("pws").focus();
		return;
	}

	var resultado = function(t) {
	    if (t.responseText == 'OK') {
	        $("user").value = '';
	        $("pws").value = '';
	        //window.open('index_arquivos/pagina_aluno.asp?usuario='+usuario,'Aluno','width=790,height=500,top=10,left=50,maximized=yes,toolbar=no,menubar=no,location=no,scrollbars=yes,scrolling=yes,resizable=yes')
	        //alert('Login efetuado com sucesso!')
			alert('O seu login foi realizado com suscesso. \nEscolha uma das opções ao lado esquerdo (destacado na cor verde)')
			
	        //location.replace('login.asp');
	        window.location.reload();
	    }
	    else {
	        alert(t.responseText);
	    }
	}
	var errFunc = function(t) {
	    alert(t.responseText);
	   alert('Erro ' + t.status + ' -- ' + t.statusText);
	}
	new Ajax.Request('logar.asp', 
		{parameters:'user=' + usuario + '&pws=' + senha,
		onSuccess:resultado, 
		onFailure:errFunc
	});
}

function showHide(inID) {
	if (document.getElementById(inID).style.display == 'none') {
		document.getElementById(inID).style.display = 'block';
	} else {
		document.getElementById(inID).style.display = 'none';
	}
}

function contaCaracteres(max, campo){ 	
	numCaracteres = campo.value.length;
	if (numCaracteres > (max-1)){
		event.keyCode = 8;
	}
}

function somenteNumero(field){
	var valid = "0123456789"
	var ok = "yes";
	var temp;
	for (var i=0; i<field.value.length; i++) {
		temp = "" + field.value.substring(i, i+1);
		if (valid.indexOf(temp) == "-1") ok = "no";
	}	
	if (ok == "no"){
		alert('Digite somente números.');
		field.select();
		field.focus();
		return false;
   }
   else return true;
}

function localizaCep(cep,endereco,bairro,cidade,uf){
	if (cep=='') return;
	var resultado = function(t) {
		//alert(t.responseText);
		if (t.responseText != 'erro'){
			var data = t.responseText.split("chr(232)");
			$(endereco).value = data[0];
			$(bairro).value = data[1];
			$(cidade).value = data[2];
			$(uf).value = data[3];
			$("numero").value = '';
		}
	}
	var errFunc = function(t) {
	    //alert(t.responseText);
		alert('Erro ' + t.status + ' -- ' + t.statusText);
	}
	new Ajax.Request('localiza_cep.asp?cep='+ cep, 
		{
		onSuccess:resultado, 
		onFailure:errFunc
	});
}

function buscaMedicos(ordem){
	var sexo = ""
	if ($("M").checked == true){sexo = "M"}
	if ($("F").checked == true){sexo = "F"}

	var atuacao="";
	for (i = 0; i < form.elements.length; i++) {
		if ((form.elements[i].type == "checkbox") && 
			(form.elements[i].name != "ck_Todos") &&
			(form.elements[i].checked)) {
		
			if (atuacao == "") {
				atuacao=form.elements[i].value;		
			}
			else {
				atuacao= atuacao + ',' + form.elements[i].value;
			}			
		}
	}
	
	if (atuacao == '' && sexo == '' && document.form.estado.value == '' && document.form.texto.value == ''){
		alert('Informe algum critério de busca!')
		return;
	}
	
	var resultado = function(t) {
		//alert(t.responseText);
		$("resultado").innerHTML = t.responseText;
	}
	
	var errFunc = function(t) {
	    //alert(t.responseText);
		alert('Erro ' + t.status + ' -- ' + t.statusText);
	}

		new Ajax.Request('pesquisa_medicos_ajax.asp?texto='+$F("texto")+'&sexo='+sexo+'&ordem='+ordem+'&uf='+$F("estado")+'&atuacao='+atuacao, 
			{
			onSuccess:resultado, 
			onFailure:errFunc
		});
}


function servicosResidencia(){
	if ($F("hospital") == '' && $F("chefe") == '' && $F("uf") == ''){
		alert('Informe algum critério de busca!')
		return;
	}
	
	var resultado = function(t) {
		//alert(t.responseText);
		$("resultado").innerHTML = t.responseText;
	}
	
	var errFunc = function(t) {
	    //alert(t.responseText);
		alert('Erro ' + t.status + ' -- ' + t.statusText);
	}
	new Ajax.Request('servicos_residencia_ajax.asp?hospital='+$F("hospital")+'&chefe='+$F("chefe")+'&uf='+$F("uf"),{
		onSuccess:resultado, 
		onFailure:errFunc
	});
}

// **************************************************
// * Validar CPF                                    *
// **************************************************
function validaCPF(campo){
	cpf = document.getElementById(campo).value;
	if (cpf == '') return;
	valor = true;
	erro = new String;
	if (cpf.length < 11) erro += "São necessarios 11 digitos para verificacao do CPF! \n\n"; 
	var nonNumbers = /\D/;
	if (nonNumbers.test(cpf)) erro += "A verificacao de CPF suporta apenas numeros! \n\n";	
	if (cpf == "00000000000" || cpf == "11111111111" || cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" || cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" || cpf == "88888888888" || cpf == "99999999999"){
		  erro += "Numero de CPF invalido!"
	}
	var a = [];
	var b = new Number;
	var c = 11;
	for (i=0; i<11; i++){
		a[i] = cpf.charAt(i);
		if (i < 9) b += (a[i] *  --c);
	}
	if ((x = b % 11) < 2) { a[9] = 0 } else { a[9] = 11-x }
	b = 0;
	c = 11;
	for (y=0; y<10; y++) b += (a[y] *  c--); 
	if ((x = b % 11) < 2) { a[10] = 0; } else { a[10] = 11-x; }
	if ((cpf.charAt(9) != a[9]) || (cpf.charAt(10) != a[10])){
		erro +="Número de CPF inválido!";
	}
	if (erro.length > 0){
		alert(erro);
		document.getElementById(campo).focus();
		return false;
	}
	return true;
}
//------------------------------------------------------------------------------------------------
function valida_CPF(obj){
 s = obj.value;
 if (isNaN(s)) {
  return false;
 }
 var i;
 var c = s.substr(0,9);
 var dv = s.substr(9,2);
 var d1 = 0;
 for (i = 0; i < 9; i++) {
  d1 += c.charAt(i)*(10-i);
 }
 if (d1 == 0){
  return false;
 }         
    d1 = 11 - (d1 % 11);
    if (d1 > 9) d1 = 0;         
 if (dv.charAt(0) != d1) {
  return false;         
 }
 d1 *= 2;
 for (i = 0; i < 9; i++) {
  d1 += c.charAt(i)*(11-i);
 }
 d1 = 11 - (d1 % 11);
 if (d1 > 9) d1 = 0;
 if (dv.charAt(1) != d1) {
     return false;
    }
    return true;    
}

function valida_CGC(obj){
 s = obj.value;
 if (isNaN(s)) {
  return false;
 }
 var i;
 var c = s.substr(0,12);
 var dv = s.substr(12,2);
 var d1 = 0;
 for (i = 0; i <12; i++){
  d1 += c.charAt(11-i)*(2+(i % 8));
 }
 if (d1 == 0) 
  return false;
 d1 = 11 - (d1 % 11);
 if (d1 > 9) d1 = 0;
 if (dv.charAt(0) != d1){
  return false;
 }
 d1 *= 2;
 for (i = 0; i < 12; i++){
  d1 += c.charAt(11-i)*(2+((i+1) % 8));
 }
 d1 = 11 - (d1 % 11);
 if (d1 > 9) 
  d1 = 0;
 if (dv.charAt(1) != d1){
  return false;
 }
 return true;
}


function Valida_CgcCpf_Submit(field,valor) {	
        info = field.value;
        if ( info.length > 0 ) {
                field.focus();
                 
                if ( info.length == 11 || info.length == 14 ){
                        if (info.length == 11) {
                                if (valida_CPF(field) == false) {
                                        alert('Cpf Inválido');
                                        return false;
                                }
                        }
                        else {
                                if (valida_CGC(field) == false) {
                                        alert('Cgc Inválido');                                                                        
                                        return false;
                                }
                       }
                }else{
                        alert('Digite o campo somente com números. CPF contém 11 números e CNPJ contém 14 números.');
                        return false;
                };
                SubmitToolbar(valor,'N','');
        }
}


function Valida_CgcCpf(field) {	
	info = field.value;
	if (info == '') return;
    if ( info.length == 11 || info.length == 14 ){
        if (info.length == 11) {
            if (valida_CPF(field) == false) {
                alert('Cpf Inválido');
                return false;
            }
        }
        else {
            if (valida_CGC(field) == false) {
                alert('Cgc Inválido');                                                                        
                return false;
              }
        }
    }else{
        alert('Digite o campo somente com números. CPF contém 11 números e CNPJ contém 14 números.');
        field.focus();
		return false;
    };
    return true;
}

// Begin
function textCounter(field, countfield, maxlimit) {
   //alert(maxlimit);
if (field.value.length > maxlimit) // if too long...trim it!
	field.value = field.value.substring(0, maxlimit);
// otherwise, update 'characters left' counter
else 
	resto = maxlimit - field.value.length
	countfield.value = "Faltam " + resto + " caractere(s)";
}
//End -->

// **************************************************
// * Converter hora                                 *
// *                                                *
// *                                                *
// **************************************************

function convert_hora(hora){
 try{
   hora_atual = document.getElementById(this.id).value;
   tamanho =  document.getElementById(this.id).value.length;
   hora = document.getElementById(this.id);
 }
 catch(e){
  hora_atual = hora.value;
  tamanho =  hora.value.length;
  hora = hora;
 }

 cmp = '';
 cmp2 = '';
 hh = hora_atual.substring(0,2);
 separador = hora_atual.substring(2,3);
 mm = hora_atual.substring(3,5);
 
 if (tamanho == 0) {
  return true;
 }
 
 if (hora_atual == 'H' || hora_atual == 'h' || hora_atual == 'hora' || hora_atual == 'HORA' || hora_atual == 'Hora')
 {
  hora_atual = new Date();
  if (hora_atual.getHours() < 10)
  {
   cmp = '0'; 
  }
  if (hora_atual.getMinutes() < 10)
  {
   cmp2 = '0';
  }
  //hora.value = cmp + hora_atual.getHours() + ':' + cmp2 + hora_atual.getMinutes();
  hora_atual = cmp + hora_atual.getHours() + ':' + cmp2 + hora_atual.getMinutes();

  return true
 }
 else
 {
  if (tamanho > 5)
  {
   alert('Formato de Hora errado: Digite h para a hora atual');
   hora.select();
   hora.focus();
   return false
  }
  
  if ( isNaN(hora_atual)) 
  {  
   
   if (tamanho == 5)
   {
    if (hh >= 0 && hh < 24 && mm >= 0 && mm < 60 && separador == ':')
    {
     return true 
    }
    alert('Formato de Hora errado: Digite h para a hora atual');
    hora.select();
    hora.focus();
    return false;
   }
   if (tamanho == 4)
   {
    if (hora_atual.substring(0,1) >= 0 && hora_atual.substring(0,1) < 24 && hora_atual.substring(1,2) == ':' && hora_atual.substring(2,4) >= 0 && hora_atual.substring(2,4) < 60)
    {
     format = '0' + hora_atual;
     hora_atual = format;
     return true 
    }
    alert('Formato de Hora errado: Digite h para a hora atual');
    hora.select();
    hora.focus();
    return false;
   }
  }
  
  if (tamanho == 1)
  {
   if (hora_atual >= 0 && hora_atual < 24)
   {
    format = '0' + hora_atual + ':' + '00'
    hora.value = format;
    return true
   }
   alert('Valor da Hora errado: Digite h para a hora atual');
   hora.select();
   hora.focus();
   return false
  }
  
  if (tamanho == 2)
  {
   if (hora_atual >= 0 && hora_atual < 24)
   {
    format = hora_atual + ':' + '00'
    hora.value = format;
    return true
   }
   alert('Valor da Hora errado: Digite h para a hora atual');
   hora.select();
   hora.focus();
   return false
  }
  
  if (tamanho == 3)
  {
   if (hora_atual.substring(0,1) >= 0 && hora_atual.substring(0,1) < 24 && hora_atual.substring(1,3) >= 0 && hora_atual.substring(1,3) < 60)   
   { 
    format = '0' + hora_atual.substring(0,1) + ':' + hora_atual.substring(1,3);
    hora.value = format;
    return true
   }
   alert('Formato de Hora errado: Digite h para a hora atual');
   hora.select();
   hora.focus();
   return false
  }
  if (tamanho == 4)
  {
   if (hora_atual.substring(0,2) >= 0 && hora_atual.substring(0,2) < 24 && hora_atual.substring(2,4) >= 0 && hora_atual.substring(2,4) < 60){ 
    format = hora_atual.substring(0,2) + ':' + hora_atual.substring(2,4);
    hora.value = format;
    return true
   }
   alert('Formato de Hora errado: Digite h para a hora atual');
   hora.select();
   hora.focus();
   return false
  }
  if (tamanho == 5){
   alert('Formato de Hora errado: Digite h para a hora atual');
   hora.select();
   hora.focus();
   return false
  }
 }
}

function valida_intevalo_data(datai, dataf){
	val = datai.value;
	val1 = dataf.value;
	if (val1 == '') return;
	if (val > val1){
		alert('Data inicial não pode ser maior que data final !!');
		dataf.value = '';
		dataf.select();
		return false;
	}
}

/******************************************************************
   convert_date()
   
   Function to convert supplied dates to format - dd/mm/yyyy.
	Valid input dates = 
		ddmmyy, ddmmmyy, ddmmyyyy, ddmmmyyyy,
		d/m/yy, dd/m/yy, d/mm/yy, dd/mm/yy, d/mmm/yy, dd/mmm/yy,
		d/m/yyyy, dd/m/yyyy, d/mm/yyyy, dd/mm/yyyy, d/mmm/yyyy, dd/mmm/yyyy
	Valid date seperators =
		'-','.','/',' ',':','_',','
		
	Calls convert_month()
			invalid_date()
			validate_date()
			validate_year()
     
   Author: Simon Kneafsey 
   Email: simonkneafsey@hotmail.com
   WebSite: www.simonkneafsey.co.uk
   Date Created: 4/9/00
   
   Notes: Please feel free to use/edit this script.  If you do please keep my comments and details 
   intact and notify me via a quick Email to the address above.  Enjoy!
*******************************************************************/
function convert_date(field1){
var fLength = field1.value.length; // Length of supplied field in characters.
var divider_values = new Array ('-','.','/',' ',':','_',','); // Array to hold permitted date seperators.  Add in '\' value
var array_elements = 7; // Number of elements in the array - divider_values.
var day1 = new String(null); // day value holder
var month1 = new String(null); // month value holder
var year1 = new String(null); // year value holder
var divider1 = null; // divider holder
var outdate1 = null; // formatted date to send back to calling field holder
var counter1 = 0; // counter for divider looping 
var divider_holder = new Array ('0','0','0'); // array to hold positions of dividers in dates
var s = String(field1.value); // supplied date value variable

//If field is empty do nothing
if ( fLength == 0 ) {return true;}

// Deal with today or now
if ( field1.value.toUpperCase() == 'AGORA' || field1.value.toUpperCase() == 'HOJE' || field1.value.toUpperCase() == 'ONTEM' ) {
	var newDate1 = new Date();
	if (navigator.appName == "Netscape"){
		var myYear1 = newDate1.getYear() + 1900;
	}
	else{
		var myYear1 =newDate1.getYear();
	}
	var myMonth1 = newDate1.getMonth()+1;  
	if (field1.value.toUpperCase() == 'ONTEM')
		//{ var myDay1 = newDate1.getDate()-1;}
		//{ var myDay1 = newDate1.valueOf() - (1000 * 60 * 60 * 24); }
	{ 
		var yesterday = new Date(newDate1.valueOf() - 1000 * 60 * 60 * 24); 
		var myDay1 = yesterday.getUTCDate();
		var myMonth1 = yesterday.getUTCMonth() + 1;
		var myYear1 = yesterday.getUTCFullYear();
	}
	else
		{var myDay1 = newDate1.getDate();}
	field1.value = myDay1 + "/" + myMonth1 + "/" + myYear1;
	
	//field1.value = yesterday;
	fLength = field1.value.length;//re-evaluate string length.
	s = String(field1.value)//re-evaluate the string value.
}

//Check the date is the required length
if ( fLength != 0 && (fLength < 6 || fLength > 11) ) {
	invalid_date(field1);
	return false;   
	}

// Find position and type of divider in the date
for ( var i=0; i<3; i++ ) {
	for ( var x=0; x<array_elements; x++ ) {
		if ( s.indexOf(divider_values[x], counter1) != -1 ) {
			divider1 = divider_values[x];
			divider_holder[i] = s.indexOf(divider_values[x], counter1);
		   //alert(i + " divider1 = " + divider_holder[i]);
			counter1 = divider_holder[i] + 1;
			//alert(i + " counter1 = " + counter1);
			break;
		}
 	}
 }

// if element 2 is not 0 then more than 2 dividers have been found so date is invalid.
if ( divider_holder[2] != 0 ) {
   invalid_date(field1);
	return false;   
}

// See if no dividers are present in the date string.
if ( divider_holder[0] == 0 && divider_holder[1] == 0 ) { 
   
		//continue processing
		if ( fLength == 6 ) {//ddmmyy
   		day1 = field1.value.substring(0,2);
     		month1 = field1.value.substring(2,4);
  			year1 = field1.value.substring(4,6);
  			if ( (year1 = validate_year(year1)) == false ) {
   			invalid_date(field1);
				return false; 
				}
			}
			
		else if ( fLength == 7 ) {//ddmmmy
   		day1 = field1.value.substring(0,2);
  			month1 = field1.value.substring(2,5);
  			year1 = field1.value.substring(5,7);
  			if ( (month1 = convert_month(month1)) == false ) {
   			invalid_date(field1);
				return false; 
				}
  			if ( (year1 = validate_year(year1)) == false ) {
   			invalid_date(field1);
				return false; 
				}
			}
		else if ( fLength == 8 ) {//ddmmyyyy
   		day1 = field1.value.substring(0,2);
  			month1 = field1.value.substring(2,4);
  			year1 = field1.value.substring(4,8);
			}
		else if ( fLength == 9 ) {//ddmmmyyyy
   		day1 = field1.value.substring(0,2);
  			month1 = field1.value.substring(2,5);
  			year1 = field1.value.substring(5,9);
  			if ( (month1 = convert_month(month1)) == false ) {
   			invalid_date(field1);
				return false; 
				}
			}
		
		if ( (outdate1 = validate_date(day1,month1,year1)) == false ) {
   			// alert("O valor " + field1.value + " não é uma data válida.\n\r" +  
			// "Informe uma data válida no formato DD/MM/YYYY");
			// field1.focus();
			// field1.select();
			invalid_date(field1);
			return false;
			}

		field1.value = outdate1;
		return true;// All OK
		}
		
// 2 dividers are present so continue to process	
if ( divider_holder[0] != 0 && divider_holder[1] != 0 ) { 	
  	day1 = field1.value.substring(0, divider_holder[0]);
  	month1 = field1.value.substring(divider_holder[0] + 1, divider_holder[1]);
  	//alert(month1);
  	year1 = field1.value.substring(divider_holder[1] + 1, field1.value.length);
	}

if ( isNaN(day1) && isNaN(year1) ) { // Check day and year are numeric
	invalid_date(field1);
	return false;  
   }

if ( day1.length == 1 ) { //Make d day dd
   day1 = '0' + day1;  
}

if ( month1.length == 1 ) {//Make m month mm
	month1 = '0' + month1;   
}

if ( year1.length == 2 ) {//Make yy year yyyy
   if ( (year1 = validate_year(year1)) == false ) {
   	invalid_date(field1);
		return false;  
		}
}

if ( month1.length == 3 || month1.length == 4 ) {//Make mmm month mm
   if ( (month1 = convert_month(month1)) == false) {
   	alert("month1" + month1);
   	invalid_date(field1);
   	return false;  
   }
}

// Date components are OK
if ( (day1.length == 2 || month1.length == 2 || year1.length == 4) == false) {
   invalid_date(field1);
   return false;
}

//Validate the date
if ( (outdate1 = validate_date(day1, month1, year1)) == false ) {
	// alert("O valor " + field1.value + " não é uma data válida.\n\r" +  
	//	"Informe uma data válida no formato DD/MM/YYYY");		
	//	field1.focus();
	// field1.select();
	invalid_date(field1);
	return false;
}

// Redisplay the date in dd/mm/yyyy format
field1.value = outdate1;
return true;//All is well

}

/******************************************************************
   invalid_date()
   
   If an entered date is deemed to be invalid, invali
   d_date() is called to display a warning message to
   the user.  Also returns focus to the date  in que
   stion and selects the date for edit.
        
   Called by convert_date()
   
   Author: Simon Kneafsey
   Date Created: 4/9/00
   Email: simonkneafsey@hotmail.com
   WebSite: www.simonkneafsey.co.uk
   
   Notes: Please feel free to use/edit this script.  If you do please keep my comments and details 
   intact and notify me via a quick Email to the address above.  Enjoy!
*******************************************************************/
function invalid_date(inField) {
alert("O valor " + inField.value + " não é uma data válida.\n\r" +  
	"Informe uma data válida no formato DD/MM/YYYY ");
inField.value = "";
inField.focus();
inField.select();
return true   
}
/******************************************************************
   validate_date()
   
   Validates date output from convert_date().  Checks
   day is valid for month, leap years, month !> 12,.
   
   Author: Simon Kneafsey
   Date Created: 4/9/00
   Email: simonkneafsey@hotmail.com
   WebSite: www.simonkneafsey.co.uk
   
   Notes: Please feel free to use/edit this script.  If you do please keep my comments and details 
   intact and notify me via a quick Email to the address above.  Enjoy!
*******************************************************************/
function validate_date(day2, month2, year2)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
{                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
var DayArray = new Array(31,28,31,30,31,30,31,31,30,31,30,31);                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
var MonthArray = new Array("01","02","03","04","05","06","07","08","09","10","11","12");                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
var inpDate = day2 + month2 + year2;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
var filter=/^[0-9]{2}[0-9]{2}[0-9]{4}$/;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          

//Check ddmmyyyy date supplied
if (! filter.test(inpDate))                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
  {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
  return false;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
  }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
/* Check Valid Month */                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
filter=/01|02|03|04|05|06|07|08|09|10|11|12/ ;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
if (! filter.test(month2))                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
  {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               
  return false;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
  }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         
/* Check For Leap Year */                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
var N = Number(year2);                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
if ( ( N%4==0 && N%100 !=0 ) || ( N%400==0 ) )                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
  	{                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
   DayArray[1]=29;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
  	}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
/* Check for valid days for month */                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  
for(var ctr=0; ctr<=11; ctr++)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
  	{                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
   if (MonthArray[ctr]==month2)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      
   	{                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
      if (day2<= DayArray[ctr] && day2 >0 )                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
        {
        inpDate = day2 + '/' + month2 + '/' + year2;       
        return inpDate;
        }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 
      else                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             
        {                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
        return false;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
        }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                
   	}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   
   }                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            
}
/******************************************************************
   validate_year()
   
   converts yy years to yyyy
   Uses a hinge date of 10
        < 10 = 20yy 
        => 10 = 19yy.
         
   Called by convert_date() before validate_date().
      
   Author: Simon Kneafsey 
   Date Created: 4/9/00
   Email: simonkneafsey@hotmail.com
   WebSite: www.simonkneafsey.co.uk
   
   Notes: Please feel free to use/edit this script.  If you do please keep my comments and details 
   intact and notify me via a quick Email to the address above.  Enjoy!
*******************************************************************/
function validate_year(inYear){
	if ( inYear < 10 ){
	   inYear = "20" + inYear;
	   return inYear;
	}
	else if ( inYear >= 10 ){
	   inYear = "19" + inYear;
	   return inYear;
	}
	else{return false;}   
}
//-----------------------------------------------------------------------------------------------

