<!--
isDOM = document.getElementById ? 1:0; 

//************************************************************************************************************************
function validate(f,msg) 
//************************************************************************************************************************
{  for( var i=0; i < fieldsToCheck.length; ++i ) 
     { if (! fieldsToCheck[i][1] (f,fieldsToCheck[i][0],fieldsToCheck[i][2]) ) 
		   { return false ; }
     }
   
    if (msg==null) 
       alert('Ok!!  Seu formulário foi validado com sucesso.');
	else
      if (msg!="") 
	   alert(msg);		  
		     
    return true ;
}

//************************************************************************************************************************
//
//************************************************************************************************************************
function stripSpaces(x) {
    while (x.substring(0,1) == ' ') x = x.substring(1);
    return x;
}

//************************************************************************************************************************
function empty(x) { if (x.length > 0) return false; else return true; }
//************************************************************************************************************************


//************************************************************************************************************************
// Validator function for RADIO and CHECKBOX elements
//************************************************************************************************************************
function chkForChecked (f,fld,msg) {
    var frm = f ;
    var e ;
    var j = 0 ; // This is so that we know which RADIO/CHECKBOX element to return to.
    if(isDOM) {
    // Added the DOM part for Opera which seems to choke on the length
    // property of an array of elements.    
        e = document.getElementsByTagName('INPUT'); // returns a Node List
        for (var i=0; i<=e.length-1; ++i){
            if(e[i].name == fld) {
                if(j==0)j=i;
                if ( e[i].checked ) return true;  // one is checked after all!
            }
        }
        
    }else{
    
        e = f.elements[fld] ; // returns an array of elements
        
        for( var i=0; i < e.length; ++i ) { 
            if ( e[i].checked ) { 
                return true;  // one is checked after all! 
                break; 
            } 
        }
    }
    
    alert( msg );
    e[j].focus() ;
    return false; 
}

//************************************************************************************************************************
// Validator function for TEXT and TEXTAREA elements
//************************************************************************************************************************
function chkForNonblank (f,fld,msg) {
    var frm = f ;
    var e = f.elements[fld]
    if ( ! empty(stripSpaces(e.value))  ) return true; alert( msg ); e.focus();e.select();
	
    return false;
}

//************************************************************************************************************************
// Validator function for SELECT elements
//************************************************************************************************************************
function chkForIsSelected (f,fld,msg) {
    var frm = f ;
    var e = f.elements[fld]
    if ( ! e.selectedIndex == 0 ) return true; 
    alert( msg );
    e.focus() ;
    return false;
}

//************************************************************************************************************************
// Validator function to check for numeric values.
//************************************************************************************************************************
function chkNumeric (f,fld,msg) {
    var frm = f ;
    var e = f.elements[fld]
    if ( !isNaN(parseInt(e.value)) ) return true; 
    alert( msg );
    e.focus() ;
    return false;
}

//************************************************************************************************************************
// Validator function to check for email values.
//************************************************************************************************************************
function chkEmail (f,fld,msg) {
  var frm = f ;
  var e = f.elements[fld]
  if (e.value == null){
    alert(msg);
    e.focus();
    return (false);}
  //tirando os espaços vazios no endereço
  for (x = 1; x < e.value.length; x ++) 
     { e.value= e.value.replace(' ', '')}
	
  var emailStr
  emailStr = e.value;
  var emailPat=/^(.+)@(.+)$/
  var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
  var validChars="\[^\\s" + specialChars + "\]"
  var quotedUser="(\"[^\"]*\")"
  var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
  var atom=validChars + '+'
  var word="(" + atom + "|" + quotedUser + ")"
  var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
  var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
  var matchArray = emailStr.match(emailPat)
  if (matchArray==null){
    alert('O email informado não é válido.');
    e.value="";
    e.focus();
    return (false);}
	
  var user=matchArray[1]
  var domain=matchArray[2]
  if (user.match(userPat)==null){
    alert("O seu Nome de usuário parece não ser válido.");
    e.value="";
    e.focus();
    return (false);}
	
  var IPArray=domain.match(ipDomainPat)
  if (IPArray!=null){
  for (var i=1;i<=4;i++){
  if (IPArray[i]>255){
    alert('O endereço do IP parece não ser válido!');
    e.value="";
    e.focus();
    return (false);}
  }
  return true;}

  var domainArray=domain.match(domainPat)
  if (domainArray==null){
    alert('O domínio parece não ser válido !');
    e.value="";
    e.focus();
    return (false);}
	
  var atomPat=new RegExp(atom,"g")
  var domArr=domain.match(atomPat)
  if (domArr[domArr.length-1].length<2 ||
    domArr[domArr.length-1].length>3){
    alert('O endereço deve conter três letras de domínio, ou duas letras do país.');
    e.value="";
    e.focus();
    return (false);}
	
  if (domArr.length<2){
    var errStr="Este endereço não está encontrando o seu provedor!"
    alert(errStr);
    e.value="";
    e.focus();
    return (false);}
	
return true;
}


//************************************************************************************************************************
// Função para validação de Datas
//************************************************************************************************************************
function chkDate(f,fld,msg) { 
 if (msg == null || msg.length==0) 
	{ msg="Data Inválida com formato inválido"; }

  var frm = f ;
  var e = f.elements[fld]
  dataStr = e.value;
// Para requerer o ano com apenas 2 digitos  
//  var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{2}|\d{4})$/; 

// Para requerer o ano com 4 digitos  
var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{4})$/; 

var matchArray = dataStr.match(datePat); // formato da data ok? 
if (matchArray == null) 
  {alert(msg);e.focus(); e.select(); return false; } 

dia= matchArray[1]; 
mes = matchArray[3]; 
ano = matchArray[4]; 

if (dia < 1 || dia > 31) 
   {// Checando o Dia
   	alert("Favor digitar um Dia Válido."); e.focus(); e.select();return false; } 

if ((mes==4 || mes==6 || mes==9 || mes==11) && dia==31) 
   {alert("O Mês "+mes+" não possue 31 dias!"); e.focus(); e.select(); return false } 

if (mes == 2) 
   { // checando Fevereiro para dia 29  
	var isleap = (ano % 4 == 0 && (ano % 100 != 0 || ano % 400 == 0)); 
	if (dia>29 || (dia==29 && !isleap)) 
		{ alert("Fevereiro de " + ano + " não tem " + dia + " dias!"); e.focus(); e.select(); return false; } 
} 

if (mes < 1 || mes > 12) 
   { // Checando o Mês
   alert("Favor digitar um Mês Válido."); e.focus(); e.select(); return false; } 
	
if (ano  < 1999) 
   { // Checando o ano
   alert("Favor digitar um Ano Válido. (Superior a 1999)"); e.focus(); e.select(); return false; } 

return true; // Data válida
} 

//************************************************************************************************************************
// Função para validação de Datas - Permitindo valores nulos na datas
//************************************************************************************************************************
function chkDatenull(f,fld,msg) { 
  var frm = f ;
  var e = f.elements[fld]
  dataStr = e.value;

if (dataStr == "") 
  { return true; } 
else { 
  
// Para requerer o ano com apenas 2 digitos  
//  var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{2}|\d{4})$/; 

// Para requerer o ano com 4 digitos  
var datePat = /^(\d{1,2})(\/|-)(\d{1,2})\2(\d{4})$/; 
var matchArray = dataStr.match(datePat); // formato da data ok? 

if (matchArray == null) 
  {alert("Data Inválida com formato inválido.");e.focus(); e.select(); return false; } 

dia= matchArray[1]; 
mes = matchArray[3]; 
ano = matchArray[4]; 

if (dia < 1 || dia > 31) 
   {// Checando o Dia
   	alert("Favor digitar um Dia Válido."); e.focus(); e.select();return false; } 

if ((mes==4 || mes==6 || mes==9 || mes==11) && dia==31) 
   {alert("O Mês "+mes+" não possue 31 dias!"); e.focus(); e.select(); return false } 

if (mes == 2) 
   { // checando Fevereiro para dia 29  
	var isleap = (ano % 4 == 0 && (ano % 100 != 0 || ano % 400 == 0)); 
	if (dia>29 || (dia==29 && !isleap)) 
		{ alert("Fevereiro de " + ano + " não tem " + dia + " dias!"); e.focus(); e.select(); return false; } 
} 

if (mes < 1 || mes > 12) 
   { // Checando o Mês
   alert("Favor digitar um Mês Válido."); e.focus(); e.select(); return false; } 
	
return true; // Data válida
}
} 

//************************************************************************************************************************
// Função para validaR DATA LIMITE PARA desativar contas de email 
//************************************************************************************************************************
function prazodata(f,fld,msg)  {
    var frm = f ;
    var e = f.elements[fld]
    userdate = e.value;
	currdate = new Date()
	userdate= userdate.substr(3, 2) + "/" + userdate.substr(0, 2) + "/" + userdate.substr(6, 4);
	userdate = new Date(userdate)
	currdate.setDate(currdate.getDate()+180)
	if (userdate<currdate) 
	     { alert( msg ); return false;  e.focus() ;}
	
 return true; 
}

//************************************************************************************************************************
// Validar escolha em caixa de listagem - Objeto Select
//************************************************************************************************************************
function chkSelecao (f,fld,msg) {
    var frm = f ;
    var e = f.elements[fld]
    if ( e.selectedIndex == -1) 
	    { alert( msg ); return false;  e.focus() ; e.select();} 
	return true; 
}

//*****************************************************************************
//Formata número tipo moeda - Aceita somente numeros 
//*****************************************************************************
function Formata(campo,tammax,teclapres) {
	if (navigator.appName=='Microsoft Internet Explorer')  // Internet Explorer
		var tecla = event.keyCode;
	else   // Nestcape {
		var tecla = teclapres.which;

	vr = Limpar(campo.value,"0123456789");  //tirar o ponto e a virgula da formatacao 
	tam = vr.length;
	
	if (tam < tammax && tecla != 8){ tam = vr.length + 1 ; }
	
	if (tecla == 8 ) { tam = tam - 1 ; }
	
	if ( tecla == 8 || tecla >= 48 && tecla <= 57  )
	{	dec=2
		if ( tam <= dec )
			{ campo.value = vr ; }
		if ( (tam > dec) && (tam <= 5) )
			{campo.value = vr.substr( 0, tam - 2 ) + "," + vr.substr( tam - dec, tam ) ; }
		if ( (tam >= 6) && (tam <= 8) )
			{campo.value = vr.substr( 0, tam - 5 ) + "." + vr.substr( tam - 5, 3 ) + "," + vr.substr( tam - dec, tam ) ;}
		if ( (tam >= 9) && (tam <= 11) )
			{campo.value = vr.substr( 0, tam - 8 ) + "." + vr.substr( tam - 8, 3 ) + "." + vr.substr( tam - 5, 3 ) + "," + vr.substr( tam - dec, tam ) ; }
		if ( (tam >= 12) && (tam <= 14) )
			{campo.value = vr.substr( 0, tam - 11 ) + "." + vr.substr( tam - 11, 3 ) + "." + vr.substr( tam - 8, 3 ) + "." + vr.substr( tam - 5, 3 ) + "," + vr.substr( tam - dec, tam ) ; }
		if ( (tam >= 15) && (tam <= 17) )
			{campo.value = vr.substr( 0, tam - 14 ) + "." + vr.substr( tam - 14, 3 ) + "." + vr.substr( tam - 11, 3 ) + "." + vr.substr( tam - 8, 3 ) + "." + vr.substr( tam - 5, 3 ) + "," + vr.substr( tam - 2, tam ) ;}
	}  else	 {
			if (navigator.appName=='Microsoft Internet Explorer')  // Internet Explorer
				event.keyCode = 0;
			else   
				return false;// Nestcape 
 	}
	
}

function Limpar(valor, validos) { 	// retira caracteres invalidos da string
	var result = "";
	var aux;
	for (var i=0; i < valor.length; i++) {
		aux = validos.indexOf(valor.substring(i, i+1));
		if (aux>=0) {result += aux;}
	}
return result;
}

//************************************************************************************************************************
// Abrir Nova Janela no centro da Tela
//************************************************************************************************************************
function NovaJanela(mypage,myname,w,h,scroll){
	var winl = (screen.width-w)/2;
	var wint = (screen.height-h)/2;
	var settings ='height='+h+',';
	settings +='width='+w+',';
	settings +='top='+wint+',';
	settings +='left='+winl+',';
	settings +='scrollbars='+scroll+',';
	settings +='resizable=yes';
	win=window.open(mypage,myname,settings);
	if(parseInt(navigator.appVersion) >= 4){win.window.focus();}
}


//-->
