// verificar se a sessão expirou em páginas que NÃO estão no diretório raiz
function expira(emp){
	if (emp==null || emp==""){
	alert('Sua sessão expirou!\n Efetue novo login!');
	window.open("../sslogin.csp","_top");
	return false;
	}
}
//==============================
// verificar se a sessão expirou em páginas que ESTÃO no diretório raiz
function expira_raiz(emp){
	if (emp==null || emp==""){
	alert('Sua sessão expirou!\n Efetue novo login!');
	window.open("sslogin.csp","_top");
	return false;
	}
}
//============

function sshelp(sis,cod,winName) { //v2.0
  window.open('sshelp.csp?SIS='+sis+'&HELP='+ cod,winName,'width=300,height=400,top=200,left=300');
}

function ssimp(rel,winName) { //v2.0
  window.open('ssimp.csp?SSIMP='+rel,winName,'width=400,height=220');
}

function ssdmos(rel,winName) { //v2.0
  window.open('ssdmos.csp?SSDMOS='+rel,winName,'width=780,height=400,scrollbars=yes');
}

function ssdos(rel,winName) { //v2.0
  window.open('ssdos.csp?SSDOS='+rel,winName,'width=780,height=400,scrollbars=yes');
}

function ssfdt(titulo,rel,winName) { //v2.0
  window.open('ssfdt.csp?TIT='+titulo+'&SSIMP='+rel,winName,'width=400,height=220');
}

function ssjanela(titulo,pagina,envia,altura,largura,winName) { //v2.0
	if (largura<200){
		largura=200;
	}
	if (altura<200){
		altura=200;
	}
	window.open(pagina + '?TITULO='+titulo+'&ENVIA='+envia,winName,'width='+largura+',height='+altura+',top=200,left=250');
}

function ssledata(data) { //v2.0
        var BACKSPACE=  8;
        var key;
        var tecla;
		var strValidos = "0123456789"

        CheckTAB=true;
        tecla= event.keyCode;

        key = String.fromCharCode( tecla);

        if ( tecla == BACKSPACE ){
                return true;
		}else{
			tam = data.value.length;
			if ((tam == 2) || (tam == 5)){
				data.value = data.value + "/";
			}else if (tam == 10){
				key = "^";
			}
		}
        return ( isLetra(key, strValidos));
}



function ssleord(numero) { //v2.0
        var BACKSPACE=  8;
        var key;
        var tecla;
		var strValidos = "0123456789"

        CheckTAB=true;
        tecla= event.keyCode;

        key = String.fromCharCode( tecla);

        if ( tecla == BACKSPACE )
                return true;
        return ( isLetra(key, strValidos));
}

/*
function sslereal(numero) { //v2.0
        var BACKSPACE=  8;
        var key;
        var tecla;
		var strValidos = "0123456789."

        CheckTAB=true;
        tecla= event.keyCode;

        key = String.fromCharCode( tecla);

        if ( tecla == BACKSPACE )
                return true;
        return ( isLetra(key, strValidos));
}
*/

function sslereal(numero) { //v3.0
        var BACKSPACE=  8;
        var key;
        var tecla;
		var strValidos = "0123456789.,";
		CheckTAB=true;
        tecla= event.keyCode;
        key = String.fromCharCode( tecla);
     	if ( strValidos.indexOf( key ) == -1) { return false; }
		if (key==','){ key='.'; }
		numero.value=numero.value+key;
	 	Pts=0;
		for (i=0;i<numero.value.length+1;i++){
			if(numero.value.substring(i,i+1)=='.'){
				Pts=Pts+1;
				if (Pts>1) {
					numero.value=numero.value.substring(0,i);
					return false;
				}
			}
		}
		return false;
}

function sslenega(numero) { //v3.0
        var BACKSPACE=  8;
        var key;
        var tecla;
		var strValidos = "0123456789.,-";
		CheckTAB=true;
        tecla= event.keyCode;
        key = String.fromCharCode( tecla);
     	if ( strValidos.indexOf( key ) == -1) { return false; }
		if (key==','){ key='.'; }
		numero.value=numero.value+key;
	 	Pts=0;
		for (i=0;i<numero.value.length+1;i++){
			if(numero.value.substring(i,i+1)=='.'){
				Pts=Pts+1;
				if (Pts>1) {
					numero.value=numero.value.substring(0,i);
					return false;
				}
			}
		}
		return false;
}

function isLetra( caractere, strValidos )
	{
        if ( strValidos.indexOf( caractere ) == -1)
                return false;
        return true;
}

function sslecampo(campo, event)
	{
        var BACKSPACE=  8;
        var key;
        var tecla;
		var strValidos = "0123456789abcdefghijlmnopqrstuvxzwyk012êéèâôâíóàáíìùúãõçABCDEFGHIJLMNOPQRSTUVXZWYKÂÊÔÁÉÍÀÓÃÕÇ/\\!?@#$%&*-_=+[](){};,.| "
//		var strValidos = "^a]"

        CheckTAB=true;
        tecla= event.keyCode;

        key = String.fromCharCode(tecla);

        if ( tecla == BACKSPACE )
                return true;
        return ( isLetra(key, strValidos));
}

function ssopenwin(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}

function sspgabertura(sis) { //v2.0
parent.principal.location = 'ssabertura.csp?SIS=' + sis;
}

/*function sslecampo(campo) { //v2.0
	tecla= event.keyCode;

        key = String.fromCharCode(tecla);
	alert(key);
    var strValidos = "0123456789abcdefghijlmnopqrstuvxzwykABCDEFGHIJLMNOPQRSTUVXZWYK "
    if ( strValidos.indexOf( key ) == -1 ){
       return false;
	}
}*/

function ssleestado (formulario){
	if (formulario.value == ""){
		alert ("Favor selecionar o estado");

	}
}

function hoje(data){
	//alert(data.value.length);
	if (data.value.length < 10){
		dataatual = new Date();
		dia = dataatual.getDate();

		if (dia < 10){
			dia = "0" + dia;}

		mes = (dataatual.getMonth() + 1);

		if (mes < 10){
			mes = "0" + mes;}

		ano = dataatual.getYear();

		data.value = (dia + "/" +  mes + "/" + ano);
	}
}

//inicio da validação de data
function validata(pData){
pData2 = pData;
pData = pData.value;
		if(pData.length<1){
			return false;
		}
		if (pData.length<10 && pData.length>=1) {
			alert('Data inválida\nInforme a data no formato (dd/mm/aaaa)');
			pData2.focus();
			return false;
		}
		var ano = '' + pData.substring(6,10);
		var mes = '' + pData.substring(3,5);
		var dia = '' + pData.substring(0,2);

		if(dia>'31'){
			alert('Data inválida\nDia Inesistente');
			pData2.focus();
			return false;
		}

		if(mes>'12'){
			alert('Data inválida\nMes Inesistente');
			pData2.focus();
			return false;
		}

		if(mes=='02'){
			if(ano%4!=0 && dia>'28'){
				alert('Data Inválida\nEste mes tem apenas 28 dias');
				pData2.focus();
				return false;
			}
			else{
				if(dia>'29'){
					alert('Data Inválida\nEste mes tem apenas 29 dias');
					pData2.focus();
					return false;
				}
			}
		}
		if(mes<='07'){
			if(mes%2==0 && dia>'30'){
				alert('Data inválida\nDia Inesistente');
				pData2.focus();
				return false;
			}
		}
		else{
			if(mes>'08'){
				if(mes%2!=0 && dia>'30'){
					alert('Data inválida!\nDia Inesistente');
					pData2.focus();
					return false;
				}
			}
		}

		 //return form_save();
		//alert('Data correta!!!');
		return true
	}
		function fCvData(pData,De,Para){
	// 1 - (DD/MM/AAAA)
	// 2 - (MM/DD/AAAA)
	// 3 - (AAAAMMDD)
		switch(De){
			case 1:{
				var ano = '' + pData.substring(6,10);
				var mes = '' + pData.substring(3,5);
				var dia = '' + pData.substring(0,2);
				break;			}
			case 2:{
				var ano = '' + pData.substring(6,10);
				var mes = '' + pData.substring(0,2);
				var dia = '' + pData.substring(3,5);
				break;
			}
			case 3:{
				var ano = '' + pData.substring(0,4);
				var mes = '' + pData.substring(4,6);
				var dia = '' + pData.substring(6,8);
				break;
			}
		}
			if(validata(dia+'/'+mes+'/'+ano)!=True){
				alert('Data inválida');
				pData2.focus();
				return null;
			}

		switch(Para){
			case 1:{
				var datafinal = dia+'/'+mes+'/'+ano;
				break;
			}
			case 2:{
				var datafinal = mes+'/'+dia+'/'+ano;
				break;
			}
			case 3:{
				var datafinal = ano+mes+dia;
				break;
			}
		}

		return datafinal
	}
//final da validação de data

function abre_status(pagina){
	window.open(pagina,'janalestatus','width=250,height=100,scrolling=no,toolbars=no,left=250,top=250');
}
// ####<<<< INICIO DA VALIDAÇÃO DE CNPJ/CGC >>>>#### //

function ssvcpf(pCPF_CNPJ){
	if(pCPF_CNPJ.value==''){
		//alert('Por favor informe o CNPJ');
		//document.form1.cnpj.focus();
	}
	else{
		pfValidaCNPJ(pCPF_CNPJ, 'Número inválido')
	}

}

function pfValidaCNPJ(msCNPJ, msMSG){
	if (!(checa(msCNPJ.value, msMSG))){
		//msCNPJ.focus();
		return false;
	}
	else{
		return true;
	}
}

function checa(msCNPJ, msMSG){
	if ((msCNPJ.length != 15) && (msCNPJ.length !=11)){
		alert(msMSG);
		return false;
	}

	if ((!(modulo(msCNPJ.substring(0,msCNPJ.length - 2)).toString()+modulo(msCNPJ.substring(0,msCNPJ.length - 1)).toString() == msCNPJ.substring(msCNPJ.length - 2,msCNPJ.length))) && (modulo_cic(msCNPJ.substring(0,msCNPJ.length - 2)) + "" + modulo_cic(msCNPJ.substring(0,msCNPJ.length - 1)) != msCNPJ.substring(msCNPJ.length - 2,msCNPJ.length))){
		alert(msMSG);
		return false;
	}
	return true;
}

function modulo(msCNPJ){
soma=0;
ind=2;

	for(pos=msCNPJ.length-1;pos>-1;pos=pos-1){
		soma = soma + (parseInt(msCNPJ.charAt(pos)) * ind);
		ind++;

		if(msCNPJ.length>11){
			if(ind>9) ind=2;
			}
		}

	resto = soma - (Math.floor(soma / 11) * 11);

		if(resto < 2){
			return 0;
		}
		else{
			return (11 - resto);
		}
}


function modulo_cic(msCNPJ){
soma=0;
ind=2;
	for(pos=msCNPJ.length-1;pos>-1;pos=pos-1){
		soma = soma + (parseInt(msCNPJ.charAt(pos)) * ind);
		ind++;

		if(msCNPJ.length>11){
			if(ind>9) ind=2;
			}
		}

		resto = soma - (Math.floor(soma / 11) * 11);

		if(resto < 2){
			return 0;
		}
		else{
			return 11 - resto;
		}
}
// ####<<<< FINAL DA VALIDAÇÃO DE CNPJ/CGC >>>>#### \\
// ####<<<< TRAVA DO BOTÃO DIREITO DO MOUSE >>>>#### \\
 function travaMouse() {
/* if (window.Event)
document.captureEvents(Event.MOUSEUP);
function nocontextmenu()
{
event.cancelBubble = true
event.returnValue = false;
return false;
}
function norightclick(e)
{
if (window.Event)
{
if (e.which == 2 || e.which == 3)
return false;
}
else
if (event.button == 2 || event.button == 3)
{
event.cancelBubble = true
event.returnValue = false;
alert("Código fonte indisponível");
return false;
}

}
if (document.layers) {
document.captureEvents(Event.MOUSEDOWN);
}
document.oncontextmenu = nocontextmenu;
document.onmousedown = norightclick;
document.onmouseup = norightclick; */
}
// <<<<#### FiNAL DO CÓDIGO DE TRAVA ####>>>> \\


// ================= Funcoes para rollover do menu principal
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//============== Fim das funcoes do rollover do menu principal

function inverteData(data,campo){
campos = data.value.split('/');
alert(campo);
campo.value = campos[1] + '/' + campos[0] + '/' + campos[2];
}

//=========== Inicio da Função para adicionar zeros a esquerda
function sto(numero,casa){
	tam = numero.length;
	if (tam<casa){
		for (i=tam;i<casa;i=i+1){
		numero='0'+numero;
		}
	}
	return numero;
}
function rsto(numero,casa){
	numero.value=sto(numero.value,casa)
}
//=========== Final da Função para adicionar zeros a esquerda
//função para os campo de consulta
function textoReq(texto){
	if (texto.value == ""){
		alert('Se você não preencher o campo,\nserão listados todos os registros.')
	}
}
//função para campos requeridos nos formulários
function campoReq(campo1,campo2,campo3,campo4,campo5){
erro = false;
	if (campo1 != null){
		if (campo1.value == ""){
			erro = true;
			campo1.focus();
		}
		else if (campo2 != null){
			if (campo2.value == ""){
				erro = true;
				campo2.focus();
			}
			else if (campo3 != null){
				if (campo3.value == ""){
					erro = true;
				campo3.focus();
				}
				else if (campo4 != null){
					if (campo4.value == ""){
						erro = true;
						campo4.focus();
					}
					else if (campo5 != null){
						if (campo5.value == ""){
							erro = true;
							campo5.focus();
						}
					}
				}
			}
		}
	}
	if (erro==false){
		return salvar();
	}
	else{
		alert("Favor preencher todos os campos requeridos.");
		return false;
	}
}

function sslehora(hora){
        var BACKSPACE=  8;
        var key;
        var tecla;
		var strValidos = "0123456789"

        CheckTAB=true;
        tecla= event.keyCode;

        key = String.fromCharCode( tecla);

        if ( tecla == BACKSPACE ){
                return true;
		}else{
			tam = hora.value.length;
			if (tam == 2){
				hora.value = hora.value + ":";
			}else if (tam == 5){
				key = "^";
			}
		}
		return ( isLetra(key, strValidos));
}

function ssvhora(hora){
xhora = hora.value
var hor = '' + xhora.substring(0,2);
var minuto = '' + xhora.substring(3,5);
	if ((hor > 23)||(minuto>59)){
		alert('Hora Inválida!');
		hora.focus();
	}
}

function hratual(hora){
	if (hora.value.length < 10){
		horaatual = new Date();
		hr = horaatual.getHours();
		mn = horaatual.getMinutes();
		if (hr<10){
			hr = '0'+hr;
		}
		if (mn<10){
			mn = '0'+mn;
		}
		hora.value = hr+':'+mn;
	}
}

//================= Atualiza frame de consulta com a pagina ssdmosvisualizar.csp
function atualizarFrame(campoOrigem,posCampoRetorno,indiceTabela,nomeTabela,camposTabela,legendaCampos,frameRetorno){
		campoMaiusculo=campoOrigem.value.toUpperCase();
		path = "../ssdmosvisualizar.csp?BUSCA=" + campoMaiusculo + "&NRCAMPO=" + posCampoRetorno + "&NDX=" + indiceTabela + "&TAB=" + nomeTabela + "&COL=" + camposTabela + "&LEG=" + legendaCampos + "&FRAME=" + frameRetorno;
		window.open(path,"consulta");
	}

function retornoConsulta(posCampo, valorCampo, frameRetorno){
	if (frameRetorno == 'pedido'){
		//alert('frame:'+frameRetorno);
		top.principal.pedido.document.forms[0].elements[posCampo].value = valorCampo;
		top.principal.pedido.document.forms[0].elements[posCampo].focus();
	}
	if (frameRetorno == ''){
		//alert('sem frame');
		top.principal.document.forms[0].elements[posCampo].value = valorCampo;
		top.principal.document.forms[0].elements[posCampo].focus();
	}
	if (frameRetorno == 'semFrame'){
		top.document.form.elements[posCampo].value = valorCampo;
		top.document.form.elements[posCampo].focus();
	}
}

//função pra mudar cor da linha quando botão é desabilitado...
function sscolorline(ID_TR,ID_BOTAO,COLOR,FORM_NAME)
{
		document.getElementById(FORM_NAME).elements(ID_BOTAO).disabled = true;
		document.getElementById(ID_TR).style.backgroundColor=COLOR;
}

//Função para campos com numeros e pontos..
function sslectb(ctb,padrao) {
       // onKeyPress="return sslectb(this,'XX.XXX.XXX.X', event)"
	    var BACKSPACE = 8;
        var key;
        var tecla;
		var strValidos = "0123456789"

	    CheckTAB=true;
        tecla= event.keyCode;
        key = String.fromCharCode( tecla);
        if ( tecla == BACKSPACE ){
                return true;
		} else {
			tam = padrao.length;
			pos = ctb.value.length;
			if (padrao.substring(pos,pos+1) == ".") {
				ctb.value = ctb.value + ".";
			}else if (pos > tam-1){
				key = "^";
			}
		}
        return ( isLetra(key, strValidos));
}

// Função para alterar o texto de uma layer a cada 90 milisegundos
function alteraTextozzz(NPONTO) {
if (document.all["Layer1"].visibility == 'hidden') {
	document.all["Layer1"].innerHTML = "<font color='#FFFFFF' size='2' face='Arial, Helvetica, sans-serif'><strong>&nbsp;&nbsp;Carregando...</strong></font>";
} else {
	if (NPONTO==0) {
		document.all["Layer1"].innerHTML = "<font color='#FFFFFF' size='2' face='Arial, Helvetica, sans-serif'><strong>&nbsp;&nbsp;Carregando</strong></font>";
		setTimeout("mudaTexto(1)",90);
	} else if (NPONTO==1) {
		document.all["Layer1"].innerHTML = "<font color='#FFFFFF' size='2' face='Arial, Helvetica, sans-serif'><strong>&nbsp;&nbsp;Carregando.</strong></font>";
		setTimeout("mudaTexto(2)",90);
	} else if (NPONTO==2) {
		document.all["Layer1"].innerHTML = "<font color='#FFFFFF' size='2' face='Arial, Helvetica, sans-serif'><strong>&nbsp;&nbsp;Carregando..</strong></font>";
		setTimeout("mudaTexto(3)",90);
	} else if (NPONTO==3) {
		document.all["Layer1"].innerHTML = "<font color='#FFFFFF' size='2' face='Arial, Helvetica, sans-serif'><strong>&nbsp;&nbsp;Carregando...</strong></font>";
		setTimeout("mudaTexto(0)",90);
	}
}
}
//---------- pular para o proximo campo -----
function pular(campo,campo2,event){
       if(window.event.keyCode == 13){
		  campo.focus();
       }
	   if(window.event.keyCode == 38){
	   if(campo2=="") {
	   //--------------------
	   }
	   else {
		   campo2.focus();
	   	}
	  }
   }
