var isNN = (navigator.appName.indexOf("Netscape")!=-1);
var retorno_janela= new String();
var highlightcolor="#E0D4B8"
var ns6=document.getElementById&&!document.all
var previous=''
var eventobj

//Regular expression to highlight only form elements
var intended=/INPUT|TEXTAREA|SELECT|OPTION/

//Function to check whether element clicked is form element
function checkel(which){
if (which.style&&intended.test(which.tagName)){
if (ns6&&eventobj.nodeType==3)
eventobj=eventobj.parentNode.parentNode
return true
}
else
return false
}

//Function to highlight form element
function highlight(e){
eventobj=ns6? e.target : event.srcElement
if (previous!=''){
if (checkel(previous))
previous.style.backgroundColor=''
previous=eventobj
if (checkel(eventobj))
eventobj.style.backgroundColor=highlightcolor
}
else{
if (checkel(eventobj))
eventobj.style.backgroundColor=highlightcolor
previous=eventobj
}
}

function janela_busca(url_destino,largura,altura) {
   janela = window.showModalDialog(url_destino,0,"dialogWidth:" + largura + ";dialogHeight:" + altura + ";dialogTop:0;dialogLeft:0;")
   if (janela != "" && janela!=null && janela!="undefined")
   {
   	retorno_janela=janela.split("|")
   }
}

function formato_moeda(fld, milSep, decSep, e) {
var sep = 0;
var key = '';
var i = j = 0;
var len = len2 = 0;
var strCheck = '0123456789';
var aux = aux2 = '';
var whichCode = (window.Event) ? e.which : e.keyCode;
if (whichCode == 13) return true;  // Enter
key = String.fromCharCode(whichCode);  // Get key value from key code
if (strCheck.indexOf(key) == -1) return false;  // Not a valid key
len = fld.value.length;
for(i = 0; i < len; i++)
if ((fld.value.charAt(i) != '0') && (fld.value.charAt(i) != decSep)) break;
aux = '';
for(; i < len; i++)
if (strCheck.indexOf(fld.value.charAt(i))!=-1) aux += fld.value.charAt(i);
aux += key;
len = aux.length;
if (len == 0) fld.value = '';
if (len == 1) fld.value = '0'+ decSep + '0' + aux;
if (len == 2) fld.value = '0'+ decSep + aux;
if (len > 2) {
aux2 = '';
for (j = 0, i = len - 3; i >= 0; i--) {
if (j == 3) {
aux2 += milSep;
j = 0;
}
aux2 += aux.charAt(i);
j++;
}
fld.value = '';
len2 = aux2.length;
for (i = len2 - 1; i >= 0; i--)
fld.value += aux2.charAt(i);
fld.value += decSep + aux.substr(len - 2, len);
}
return false;
}

function editar(formulario,foco)
{
modo="editar"
for(i=0;i < eval(formulario + '.elements.length'); i++)
		{
		if(eval(formulario + '.elements[i].name != "idusuario"')){
		if(eval(formulario + '.elements[i].tipo != "B"')){
		eval(formulario + '.elements[i].value=""')}}
		
		}
		
		eval(formulario + '.elements["' + foco + '"].disabled=false')
		eval(formulario + '.elements["' + foco + '"].focus()')
		
		top.window.status="Modo Edição"
}

function validar_requeridos(formulario)
{
var msg=""
var lf= String.fromCharCode(10)
for(i=0;i < eval(formulario + '.elements.length'); i++)
		{
				
		if (eval(formulario + '.elements[i].requerido') == "S" )
		{ 
		if (eval(formulario + '.elements[i].value') == "")
		{msg=msg + eval(formulario + '.elements[i].rotulo') + lf}
		}
		}
if (msg != "") {alert('Campos obrigatórios não informados: ' + lf + msg); return false}		
return true
}

function valida_email () {
emailStr=window.event.srcElement.value
var checkTLD=1;
var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
var emailPat=/^(.+)@(.+)$/;
/*caracteres especiais */
var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
/*range de caracteres especiais permitidos em nome de usuário e domínio*/
var validChars="\[^\\s" + specialChars + "\]";
/*aspas em nomes de usuários são válidas*/
var quotedUser="(\"[^\"]*\")";
/* Ips com números e chaves são válidos*/
var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
/* Formato dos Ips */
var atom=validChars + '+';
/* Nomes de usuários complexos com aspas ou pontos*/
var word="(" + atom + "|" + quotedUser + ")";
// Estrutura do nome do usuário
var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
/* Estrutura de um domínio normal*/
var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
/* começa análise das partes usuario@dominio para validacao. */
var matchArray=emailStr.match(emailPat);
if (matchArray==null) {
/* verifica parâmetros do email como(@ e .)*/
alert("Email inválido verifique '@' e '.'s)");
window.event.srcElement.value=""
return false;
}
var user=matchArray[1];
var domain=matchArray[2];

// Start by checking that only basic ASCII characters are in the strings (0-127).

for (i=0; i<user.length; i++) {
if (user.charCodeAt(i)>127) {
alert("O nome de usuário no e-mail contém caracteres inválidos.");
window.event.srcElement.value=""
return false;
   }
}
for (i=0; i<domain.length; i++) {
if (domain.charCodeAt(i)>127) {
alert("O nome do domínio no e-mail contém caracteres inválidos.");
window.event.srcElement.value=""
return false;
   }
}

// valida usuario 

if (user.match(userPat)==null) {

// invalida usuario

alert("Nome de usuário no e-mail é inválido.");
window.event.srcElement.value=""
return false;
}

/* se endereço ip - verifica validade */

var IPArray=domain.match(ipDomainPat);
if (IPArray!=null) {

// verifica ip

for (var i=1;i<=4;i++) {
if (IPArray[i]>255) {
alert("IP do e-mail é inválido.");
window.event.srcElement.value=""
return false;
   }
}
return true;
}

// Domínio simbólico - verifica a validade
 
var atomPat=new RegExp("^" + atom + "$");
var domArr=domain.split(".");
var len=domArr.length;
for (i=0;i<len;i++) {
if (domArr[i].search(atomPat)==-1) {
alert("O nome do domínio no email é inválido.");
window.event.srcElement.value=""
return false;
   }
}

/* verifica o tamanho dos sufixos de domínio */

if (checkTLD && domArr[domArr.length-1].length!=2 && 
domArr[domArr.length-1].search(knownDomsPat)==-1) {
alert("O endereço de e-mail deve terminar com domínio válido ou dois caracteres + país (ex.: br,ar,uk)");
window.event.srcElement.value=""
return false;
}

// verifica nome de host que precede o dominio

if (len<2) {
alert("Usuário que precede o domínio no e-mail é inválido!");
window.event.srcElement.value=""
return false;
}

// email validado
return true;
}


function cgc(pcgc)
{
// verifica o tamanho
if (pcgc.length != 14) {
sim=false
alert ("Tamanho Invalido de CGC")
window.event.srcElement.value=""
window.event.srcElement.focus()
return false
}
else {sim=true}

if (sim ) // verifica se e numero
{
for (i=0;((i<=(pcgc.length-1))&& sim); i++)
{
val = pcgc.charAt(i)
// alert (val)
if
((val!="9")&&(val!="0")&&(val!="1")&&(val!="2")&&(val!="3")&&(val!="4") &&
(val!="5")&&(val!="6")&&(val!="7")&&(val!="8")) {sim=false}
}
if (sim) // se for numero continua
{
m2 = 2
soma1 = 0
soma2 = 0
for (i=11;i>=0;i--)
{
val = eval(pcgc.charAt(i))
// alert ("Valor do Val: "+val)
m1 = m2
if (m2<9) { m2 = m2+1}
else {m2 = 2}
soma1 = soma1 + (val * m1)
soma2 = soma2 + (val * m2)
} // fim do for de soma

soma1 = soma1 % 11
if (soma1 < 2) { d1 = 0}
else { d1 = 11- soma1}

soma2 = (soma2 + (2 * d1)) % 11
if (soma2 < 2) { d2 = 0}
else { d2 = 11- soma2}
// alert (d1)
// alert (d2)
if ((d1==pcgc.charAt(12)) && (d2==pcgc.charAt(13)))
{ sim=true }
else 
sim=false
}
}
if (sim==false) {
alert('CNPJ inválido')
window.event.srcElement.value=""
window.event.srcElement.focus()}
}

function cpf(pcpf)
{

if (pcpf.length != 11) {sim=false}
else {sim=true}

if (sim ) // valida o primeiro digito
{
for (i=0;((i<=(pcpf.length-1))&& sim); i++)
{
val = pcpf.charAt(i)
if

((val!="9")&&(val!="0")&&(val!="1")&&(val!="2")&&(val!="3")&&(val!="4")

&& (val!="5")&&(val!="6")&&(val!="7")&&(val!="8")) {sim=false}
}

if (sim)
{
soma = 0
for (i=0;i<=8;i++)
{
val = eval(pcpf.charAt(i))
soma = soma + (val*(i+1))
}

resto = soma % 11
if (resto>9) dig = resto -10
else dig = resto
if (dig != eval(pcpf.charAt(9))) { sim=false }
else // valida o segundo digito
{

soma = 0
for (i=0;i<=7;i++)
{
val = eval(pcpf.charAt(i+1))
soma = soma + (val*(i+1))
}

soma = soma + (dig * 9)
resto = soma % 11
if (resto>9) dig = resto -10
else dig = resto
if (dig != eval(pcpf.charAt(10))) { sim = false }
else sim = true
}
}
}
if (sim == false) 
{
alert('CPF inválido')
window.event.srcElement.value=""
window.event.srcElement.focus()
}
}

function valida_cnpjcpf(tipo)
{
numero=window.event.srcElement.value
if (numero != "" && numero != null) {
if (tipo=="F")
{cpf(numero)}
else {cgc(numero)}
}
}

function valida_digito()
{
	campo=window.event.srcElement

	if (document.all) // Internet Explorer
		var tecla = event.keyCode;
	else if(document.layers) // Nestcape
		
		var tecla = event.which;
		retorno=false
		
		if (campo.tipo=='D')
			{var str = "0123456789/"}
		else if (campo.tipo=='N')
			{var str = "0123456789"}
		else if (campo.tipo=='NP')
			{var str = "0123456789."}	
		else if (campo.tipo=='T')
			{var str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890 ";
			//tecla = String.fromCharCode(tecla).toUpperCase().charCodeAt(0)
			//campo.style.textTransform='uppercase'
			}
		else if (campo.tipo=='L')
			{retorno=true
			return}
		else if (campo.tipo=='E')
			{
			var str = "1234567890abcdefghijklmnopqrstuvwxyz@.-_+[]()*\;:^?"}
			
		else if (campo.tipo=='M')
			{
			var str = "1234567890,"}	
		
		else if (campo.tipo=='H')
			{
			var str = "1234567890abcdefghijklmnopqrstuvwxyz.-_+[]()*\;:^?"}
	
			if (campo.value == null || campo.tipo=="B" || campo.tipo=="A" || campo.tipo=="S") return
						
			for (i=0; i < str.length; i++)
			{ 
			if (String.fromCharCode(tecla)==str.charAt(i)) {retorno=true;}
			}
			event.returnValue=retorno
}


function valida_data(d,m,a)
{	
		
	if ( (m<1 || m >12) && (m != '') ) return false
 	if ( (d<1 || d >31) && (d != '') ) return false
 	if ( (a<1900 || a>2078) && (a !='') ) return false
 	if (d == 31)
 	if ((m == 2) || (m == 4) || (m == 6) || (m == 9) || (m == 11)) return false
 	if (m ==2)
 	if ((parseInt(a)%4 != 0 && d ==29) || (d == 30) )return false
 	return true
	
}

function mascara_data()
{	campo=window.event.srcElement
	if (campo.value.length > 2)
          if ((campo.value.charAt(campo.value.length - 1) == "/") && (campo.value.charAt(campo.value.length - 2) == "/"))
               campo.value = campo.value.substr(0,campo.value.length - 2);
	 if (event.keyCode != 8)			   
     	  if ((campo.value.length == 2) || (campo.value.length == 5))
          	  campo.value += "/";
}

function msgdata(formulario,campo)
{
	strdata=new String(eval(formulario + '.' + campo + '.value'));
	
	if (strdata != "") {
	var dia=(strdata.split('/')[0])
	var mes=(strdata.split('/')[1])
	var ano=(strdata.split('/')[2])
	
	if (valida_data(dia,mes,ano)==false) {alert("Data Inválida"); 
	eval(formulario + '.' + campo + '.value=""'); 
	eval(formulario + '.' + campo + '.focus()');}
	}
}

function autotab() {
input=window.event.srcElement;
var len=input.maxLength;
if(input.tipo=="D"){mascara_data();}
var keyCode = (isNN) ? event.which : event.keyCode; 
var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];
if (input.value == null) return
var tamanho=input.value.length;
if(tamanho >= len && !containselement(filter,keyCode)) {
input.value = input.value.slice(0, len);
input.form[(getindex(input)+1) % input.form.length].focus();
}}

function containselement(arr, ele) {
var found = false, index = 0;
while(!found && index < arr.length)
if(arr[index] == ele)
found = true;
else
index++;
return found;
}

function getindex(input) {
var index = -1, i = 0, found = false;
while (i < input.form.length && index == -1)
if (input.form[i] == input)index = i;
else i++;
return index;
}

function entertab()
{	
	if (document.all) // Internet Explorer
		var tecla = event.keyCode;
	else if(document.layers) // Nestcape
		var tecla = event.which;
	if (tecla==13)
	var tabular = window.event.srcElement.tabular;
	if (tabular == "S") event.keyCode=9;
	else return true; 
}

function teclas_globais()
{
if (document.all) // Internet Explorer
		var tecla = event.keyCode;
	else if(document.layers) // Nestcape
		var tecla = event.which;
if(tecla==27){window.top.close()}
}

function mensagem_procedimento(msg_status)
{
if (msg_status==1) {
//var elemento=document.getElementById("msgprocedimento")
var msg_altura=60
var msg_largura=200
var msg_esquerda = (document.body.offsetWidth - msg_largura) / 2
var msg_topo = (document.body.offsetHeight - msg_altura) / 2
var msg = document.createElement("<div id='msgprocedimento' style='position:absolute; display:none; width:200px; height:60px; z-index:2; background-color: #FFFFFF; border: 1px solid #000000;'>")
msg.style.left=msg_esquerda
msg.style.top=msg_topo
msg.innerHTML="<TABLE width='100%' cellpadding='0' cellspacing='0'><TR bgcolor=#B03410><TD id='msgtitulo' height='15' valign='middle'>SULRÁDIO</TD></TR><TR bgcolor='#CC6600'><TD id='msgtexto' height='45' valign='middle'>AGUARDE!<br>EXECUTANDO PROCEDIMENTO</TD></TR></TABLE>"
document.body.insertBefore(msg)
msgtitulo.style.fontFamily="Verdana, Geneva, Arial, Helvetica, sans-serif"
msgtitulo.style.fontSize="7.5pt" 
msgtitulo.style.fontWeight="bold"
msgtitulo.style.color="white"
msgtitulo.style.textAlign="center"
msgtexto.style.fontFamily="Verdana, Geneva, Arial, Helvetica, sans-serif"
msgtexto.style.fontSize="7.5pt" 
msgtexto.style.fontWeight="bold"
msgtexto.style.color="white"
msgtexto.style.textAlign="center"
msg.style.display="block"
}
else
{
msgprocedimento.style.display='none'
}
}

function AbreJanelaLocalizar(pObjeto, pForm, pCampoCod, pCampoNome, pCampoAux, pCampoFoco, pFuncao)
{
	var wLocalizar = null;
	var sJanela = null;
	var iHeight = null;
	var iWidth = null;
	
	iHeight = (screen.availHeight-400) / 2
	iWidth = (screen.availWidth-600) / 2

	//pObjeto = pObjeto.toLowerCase()
	sJanela = '../../globais/localizar_' + pObjeto + '.asp?pForm=' + pForm + '&pCampoCod=' + pCampoCod + '&pCampoNome=' + pCampoNome
		
	if (pObjeto.toUpperCase()=='MUNICIPIO'){sJanela = sJanela + '&pCampoAux=' + pCampoAux }
	
	sJanela = sJanela + '&pCampoFoco=' + pCampoFoco + '&pFuncao=' + pFuncao
	wLocalizar = window.open(sJanela, "wLocalizar", 'top=' + iHeight + ', left=' + iWidth + ', height=400, width=600, scrollbars=no, status=no, toolbar=no, menubar=no, location=no')
}
