﻿

function FormataHora(obj_frm_hora,hora){
  var myhora = '';
    myhora = myhora + hora;
    if (myhora.length == 2){
      myhora = myhora + ':';      
      obj_frm_hora.value = myhora;
      }
}

function preenchezerosequerda(campo, tamanho){
// Completa o valor de um campo com quantos zeros à esquerda for determinado.
// Caso o campo esteja vazio a função pergunta se quer ou não preencher com a quantidade de zeros determinada
// E tbem controla o tamanho, sendo barrado ao informar mais campos do que deve.
// Sintaxe: <INPUT TYPE="text" NAME="primeiro" onBlur="preenche(this, 4)";>

var strText = campo.value;

	if (strText == "" ) {
		if (confirm("Texto vazio - preencher com " + tamanho + " zeros? ")) {
			for (i=0; i<tamanho;i++)
				campo.value += "0";
		}else{
			campo.focus();
		}
		}else{ 
			var intTamStr = strText.length;
		if (intTamStr <= tamanho){
			var intTam = parseInt(tamanho) - intTamStr;
			for (i=0; i<intTam; i++){
				strText = "0" + strText;
			}
			campo.value = strText;
		}else{ 	
			alert("Este campo pode ter no máximo \n" + tamanho + " caracteres.");
			campo.focus();
		}
	}
}


function macaraData(campo){
	//colcar na função onKeyUp para detectar o backspace
	//<input type='text' onKeyUp="macaraData(this)">
	
	var valor = campo.value;
	
	if(!((event.keyCode >= 37 && event.keyCode <= 39) || (event.keyCode == 8 || event.keyCode == 46)) && (valor.length > 2)){	
		valor = valor.replace('/','');
		valor = valor.replace('/','');
		
		if((valor.length >= 2) && (valor.length <= 4))campo.value = valor.substr(0,2) + '/' + valor.substr(2);		
		if(valor.length > 4)campo.value = valor.substr(0,2) + '/' + valor.substr(2,2) + '/' + valor.substr(4);
	}
}

function CompletaData(campo) {
    //Sintaxe
    //<input type='text' onBlur="CompletaData(this)"> 
    vr = campo.value;

    if(vr!=""){
        if (campo.value.length == 8) {
            if (campo.value.length == 8 & vr.substr( 6 , 2) <= 30){
                campo.value = vr.substr( 0, 6 ) + "20" + vr.substr( 6, 2 );
            }
            if (campo.value.length == 8 & vr.substr( 6 , 2) >= 30){
                campo.value = vr.substr( 0, 6 ) + "19" + vr.substr( 6, 2 );
            }
        }
    }
}

function FormataData(campo,teclapres) {

//Sintaxe
//<input type='text' onKeyDown="FormataData(this,event);"> 

  var tecla = teclapres.keyCode;
  vr = campo.value;
  if(vr!=""){
      if ("0123456789".search(vr.substr(vr.length-1,1)) == -1) {
          vr = vr.substr(0, vr.length-1);
          campo.value = vr;
      }
      else {   
        vr = vr.replace( ".", "" );
        vr = vr.replace( "/", "" );
        vr = vr.replace( "/", "" );
        tam = vr.length + 1;
        if ( tecla != 9 && tecla != 8 ) {
          if ( tam > 2 && tam < 5 ) {
            campo.value = vr.substr( 0, tam - 2  ) + '/' + vr.substr( tam - 2, tam );
          }
          if ( tam >= 5 && tam <= 10 ) {
            campo.value = vr.substr( 0, 2 ) + '/' + vr.substr( 2, 2 ) + '/' + vr.substr( 4, 4 ); 
          }
        }
      }
   }
}



function moveOver(form, Campo1, Campo2, tipo){

	var Campo1 = eval(form +'.'+Campo1)
	var Campo2 = eval(form +'.'+Campo2)

	//Caso tenha escolhido todos
	if(tipo == 1){		
		for(i=0;i<Campo1.length;i++){
			Campo1[i].selected = true
		}
		
	}

	if(Campo1.selectedIndex == -1){
		alert('Selecione uma opção');
		return false;
	}else{					
								
		var varAvaliableText = Campo1[Campo1.selectedIndex].text;
				
		var avaLength	    = Campo1.length;
		var boxLength       = Campo2.length;
		var arrayAvaliable  = new Array();
		var arrayChoice	    = new Array();	
		var arrayAvaliable2 = new Array();
		var arrayChoice2    = new Array();	
		var tamTemp	    = 0;
		var tamTemp1	    = 0;
		var tamTemp2	    = 0;
		var tamTemp3	    = 0;
				
		var arrayCampo11;
		var arrayCampo21;
				
		for(i=0;i<avaLength;i++){
			if(Campo1[i].selected == true){
			//captura valores selecionados
			arrayAvaliable[tamTemp] = Campo1[i];
			arrayCampo11         = Campo1[i].value.split('#');
					
			tamTemp += 1;
		}else{
			//captura valores não selecionados
			arrayChoice[tamTemp1] = Campo1[i];
			tamTemp1 += 1;
		}
	}

	//dimensionando tamanho do Campo2 e atribuindo valores

	if(boxLength != 0){//se já existe algum item, vai adicionar os itens selecionados logo após os existentes
		Campo2.length = boxLength + tamTemp;
		var tamCampo2 = boxLength + tamTemp;
		var j = 0;

		for(i = 0; i < tamCampo2; i++){

			if(Campo2[i].value == ''){
				var vAux = arrayAvaliable[j].text;
				var newoption = new Option(vAux, arrayAvaliable[j].value, false, false);
				Campo2.options[i] = newoption;
						
				j += 1;
			}
		}
	
	}else{//se não tiver nenhum item no Campo2, coloca os valores selecionados do select avaliable
		Campo2.length = tamTemp;
		for(i=0;i<tamTemp;i++){
			var newoption = new Option(arrayAvaliable[i].text, arrayAvaliable[i].value, false, false);
			Campo2.options[i] = newoption;
		}
	}

		//redimensionando tamanho do Campo 1 e atribuindo valores
		Campo1.length = tamTemp1;
		for(i=0;i<tamTemp1;i++){
			var newoption = new Option(arrayChoice[i].text, arrayChoice[i].value, false, false);
			Campo1.options[i] = newoption;
		}
	}
		

// Quebra de Linha: <br style="page-break-before:always;">

}


function limpa_string(Campo,Digitos) // Deixa so os digitos no numero
{
    //var Digitos = "0123456789";
    var temp = "";
    var digito = "";
    for (var i=0; i<Campo.length; i++){
        digito = Campo.charAt(i);
        if (Digitos.indexOf(digito)>=0)
        {
            temp=temp+digito
        }
    }
    return temp
}

function somente(Campo,Digitos)
{
    nome=Campo.name
    num = limpa_string(Campo.value,Digitos);
    Campo.value = num;
}

function SomenteNumerico(e){

//Sintaxe
//<input type='text' onKeyPress='return SomenteNumerico(event);'>

	if(document.all) // Internet Explorer
	var tecla = event.keyCode;

	else if(document.layers) // Nestcape
	var tecla = e.which;

	if(tecla > 47 && tecla < 58) // numeros de 0 a 9
		return true;
	else
	{
	if (tecla != 8 && tecla != 44) // backspace
		return false;
	else
		return true;
	}

}


//imprimir sem confirmação de impressora
function printer() {

    var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>'; 

    document.body.insertAdjacentHTML('beforeEnd', WebBrowser); 

    execScript("on error resume next: WebBrowser1.ExecWB 6, -1", "VBScript"); 
    execScript('on error resume next: WebBrowser1.outerHTML = ""', 'VBScript'); 
}


function validar_CPF(campo, mensagem)
{
    //Sintaxe asp: <input type="text" onblur='validar_CPF(this)'>
    //Sintaxe .Net: no evento onclick do botão ClientScript.RegisterStartupScript(Page.GetType(), "Abrir", "<script>validar_CPF('" + txtCpfServidor.ClientID + "');</script>");
    
    //campo = document.getElementById(campo);
    var StrCPF = campo.value;
    var texto;
	StrCPF = StrCPF.replace(".","");
	StrCPF = StrCPF.replace(".","");
	StrCPF = StrCPF.replace("-","");
	
	if (StrCPF.length > 0) {
	    //validação nos numeros repetidos basicos.
	    if(StrCPF=='00000000000' || StrCPF=='11111111111' || StrCPF=='22222222222' || StrCPF=='33333333333' || StrCPF=='44444444444' ||
	       StrCPF=='55555555555' || StrCPF=='66666666666' || StrCPF=='77777777777' || StrCPF=='99999999999' || StrCPF=='99999999999' ){
	        
	        alert (mensagem);		
		    campo.value = ""
		    campo.focus();
		    return false;
	    }

		x = 0;
		soma = 0;
		dig1 = 0;
		dig2 = 0;
		texto = "";
		StrCPF1="";
		len = StrCPF.length;
		x = len -1;
	
		for (var i=0; i <= len - 3; i++)
		{
			y = StrCPF.substring(i,i+1);
			soma = soma + ( y * x);
			x = x - 1;
			texto = texto + y;
		}
		dig1 = 11 - (soma % 11);
		if (dig1 == 10) dig1=0 ;
		if (dig1 == 11) dig1=0 ;
		StrCPF1 = StrCPF.substring(0,len - 2) + dig1 ;
		x = 11; soma=0;
		for (var i=0; i <= len - 2; i++)
		{
			soma = soma + (StrCPF1.substring(i,i+1) * x);
			x = x - 1;
		}
		dig2= 11 - (soma % 11);
		if (dig2 == 10) dig2=0;
		if (dig2 == 11) dig2=0;
		if ((dig1 + "" + dig2) == StrCPF.substring(len,len-2))
		{
			//alert ("Número do CPF válido !");
			return true;
		}
		alert (mensagem);		
		campo.value = ""
		campo.focus();
		return false;
	}
}


function mascaraCPF(campo){
	// Sintax: onKeyDown="mascaraCPF(this)
	if(event.keyCode != 8){
		
		var cpf = campo.value

		if(cpf.length == 3) campo.value += '.';
		if(cpf.length == 7) campo.value += '.';
		if(cpf.length == 11) campo.value += '-';
		
	}
}

function mascaraCPFvalor(valor){
	// Sintax: onKeyDown="mascaraCPF(this)
	cpfMasc = valor.substring(0,3) +'.'+ valor.substring(3,6) +'.'+ valor.substring(6,9) +'-'+ valor.substring(9,11);
	return cpfMasc;
}

function desmascararCPF( CPF ){
	var StrCPF;
	StrCPF = CPF.value
	StrCPF = StrCPF.replace(".","")
	StrCPF = StrCPF.replace(".","")
	StrCPF = StrCPF.replace("-","")
	
	return StrCPF;
}


var n;
var p;
var p1;
function ValidatePhone(){

	p=p1.value
	if(p.length==3){
		//d10=p.indexOf('(')
		pp=p;
		d4=p.indexOf('(')
		d5=p.indexOf(')')
		if(d4==-1){
			pp="("+pp;
		}
		if(d5==-1){
			pp=pp+")";
		}
		//pp="("+pp+")";
		document.aspnetForm.ctl00_ctl00_ContentPlaceHolder1_ContentPlaceHolder1_txt_NR_TELEFONE.value="";
		document.aspnetForm.ctl00_ctl00_ContentPlaceHolder1_ContentPlaceHolder1_txt_NR_TELEFONE.value=pp;
	}
	if(p.length>3){
		d1=p.indexOf('(')
		d2=p.indexOf(')')
		if (d2==-1){
			l30=p.length;
			p30=p.substring(0,5);
			//alert(p30);
			p30=p30+")"
			p31=p.substring(5,l30);
			pp=p30+p31;
			//alert(p31);
			document.aspnetForm.ctl00_ctl00_ContentPlaceHolder1_ContentPlaceHolder1_txt_NR_TELEFONE.value="";
			document.aspnetForm.ctl00_ctl00_ContentPlaceHolder1_ContentPlaceHolder1_txt_NR_TELEFONE.value=pp;
		}
		}
	if(p.length>6){
		p11=p.substring(d1+1,d2);
		if(p11.length>3){
		p12=p11;
		l12=p12.length;
		l15=p.length
		//l12=l12-3
		p13=p11.substring(0,3);
		p14=p11.substring(3,l12);
		p15=p.substring(d2+1,l15);
		document.aspnetForm.ctl00_ctl00_ContentPlaceHolder1_ContentPlaceHolder1_txt_NR_TELEFONE.value="";
		pp="("+p13+")"+p14+p15;
		document.aspnetForm.ctl00_ctl00_ContentPlaceHolder1_ContentPlaceHolder1_txt_NR_TELEFONE.value=pp;
		//obj1.value="";
		//obj1.value=pp;
		}
		l16=p.length;
		p16=p.substring(d2+1,l16);
		l17=p16.length;
		if(l17>3&&p16.indexOf('-')==-1){
			p17=p.substring(d2+1,d2+5);
			p18=p.substring(d2+5,l16);
			p19=p.substring(0,d2+1);
			//alert(p19);
		pp=p19+p17+"-"+p18;
		document.aspnetForm.ctl00_ctl00_ContentPlaceHolder1_ContentPlaceHolder1_txt_NR_TELEFONE.value="";
		document.aspnetForm.ctl00_ctl00_ContentPlaceHolder1_ContentPlaceHolder1_txt_NR_TELEFONE.value=pp;
		//obj1.value="";
		//obj1.value=pp;
		}
	}
	//}
	setTimeout(ValidatePhone,100)
}
function getIt(m){
	n=m.name;
	//p1=document.forms[0].elements[n]
	p1=m
	ValidatePhone()
}

function testphone(obj1){
	p=obj1.value
	//alert(p)
	p=p.replace("(","")
	p=p.replace(")","")
	p=p.replace("-","")
	p=p.replace("-","")
	//alert(isNaN(p))
	if (isNaN(p)==true){
		alert("Check phone");
		return false;
	}
}


function valida_data(campo, mensagem){
	//campo = document.getElementById(campo);
    var campoValue = campo.value;
	if(campoValue != ''){
		var v_dia;
		var v_mes;
		var v_ano;
		var parametro;
		var tamanho_parametro;	
	
		parametro = campo.value
		teste_parametro = "true"; //variavel para teste de data inválida
		tamanho_parametro = parametro.length;
		if (tamanho_parametro != 10){
			teste_parametro= false;
		}
		else{
			v_dia = parametro.substring(0,2);
			v_mes = parametro.substring(3,5);
			v_ano = parametro.substr(6);
			if (((v_ano < 1900) || (v_ano > 2079)) && (v_ano.length != 0)){
				teste_parametro= false;
			}
			if ( (v_dia > 31) || (v_dia < 1) ){
				teste_parametro= false;
			}
			if (v_mes > 12){
				teste_parametro= false;
			}
			if (v_dia == "31"){
				if ((v_mes == "04") || (v_mes == "06") || (v_mes == "09") || (v_mes == "11")){
					teste_parametro= false;
				}
			}
			if (v_mes == "02"){
				if (!(v_ano%4)){
					if (v_dia > 29){
						teste_parametro= false;
					}
				}
				else if (v_dia > 28){
					teste_parametro= false;
				}
			}
			//o -if- abaixo testa se algum campo foi preenchido e outro deixado em branco deixando a data incompleta
			if (((v_dia != "") || (v_mes != "") || (v_ano != "")) && ((v_dia == "") || (v_mes == "") || (v_ano == ""))){
				teste_parametro= false;
			}
		}
		if (!teste_parametro){
			alert(mensagem);
			campo.value = '';
			campo.focus();
		}
		//else calcularIdade(data);
		return(teste_parametro);
	}
}

function mascaraCNPJ(campo)
{
	if(event.keyCode != 8){
		
		var cnpj = campo.value

		if(cnpj.length == 2) campo.value += '.';
		if(cnpj.length == 6) campo.value += '.';
		if(cnpj.length == 10) campo.value += '/';
		if(cnpj.length == 15) campo.value += '-';
		
	}
}


function StringtoData(data){

	dataMenor_temp = data.split("/")
	
	dia = dataMenor_temp[0]
	mes = dataMenor_temp[1]-1
	ano = dataMenor_temp[2]
	
	data = new Date(ano,mes,dia)
	
	return data
}


function validar_CNPJ(campo)
{
	StrCNPJ = campo.value
	StrCNPJ = StrCNPJ.replace(".","")
	StrCNPJ = StrCNPJ.replace(".","")
	StrCNPJ = StrCNPJ.replace("/","")
	StrCNPJ = StrCNPJ.replace("-","")
	
	if(StrCNPJ != ""){
		var varFirstChr = StrCNPJ.charAt(0);
		var vlMult,vlControle,s1, s2 = "";
		var i,j,vlDgito,vlSoma = 0;
	
		for ( var i=0; i<=13; i++ ) {
	
			var c = StrCNPJ.charAt(i);
			if( ! (c>="0")&&(c<="9") ){			
				alert("Número do CNPJ Inválido !");
				campo.value = "";
				campo.focus();
				return false; 
			}
			if( c!=varFirstChr){ 
				vaCharCNPJ = true; 
			}
		}
		if( ! vaCharCNPJ ) {
			alert("Número do CNPJ Inválido !");
			campo.value = "";
			campo.focus();
			return false ;
		}
	
		s1 = StrCNPJ.substring(0,12);
		s2 = StrCNPJ.substring(12,15);
		vlMult = "543298765432";
		vlControle = "";
	
		for ( j=1; j<3; j++ ) {
		vlSoma = 0;
		for ( i=0; i<12; i++ ){ 
			vlSoma += eval( s1.charAt(i) )* eval( vlMult.charAt(i) );
		}
		if( j == 2 ){ 
			vlSoma += (2 * vlDgito); 
		}
		vlDgito = ((vlSoma*10) % 11);
		if( vlDgito == 10 ){ vlDgito = 0; }
			vlControle = vlControle + vlDgito;
			vlMult = "654329876543";
		}
		if( vlControle != s2 ) {
			alert("Número do CNPJ Inválido !");
			campo.value = "";
			campo.focus();
			return false;
			return false;
		} else {
		// alert("Número do CGC Válido !");
			return true;
		}
	}
}




function ErrorMessage(iErrorNumber, strErrorDescription) 
		{
			switch (iErrorNumber) 
			{
				case 547 :
					alert("Este registro não pode ser excluído, ele está sendo usado por outro registro.");
					return;
				case 229 :
					alert("Permissão negada para utilizar esta Rotina. Informe ao Suporte, Erro="+String(iErrorNumber));
					return;
				case 201 :
					alert("Faltam informações para atualização do Cadastro. Informe ao Suporte, Erro="+String(iErrorNumber));
					return;
				case 208 :
					alert("Comando Solicitado não reconhecido. Informe  ao Suporte, Erro="+String(iErrorNumber));
					return;
				case 2627 :
					alert("Registro Duplicado.");
					return;
				case 2601 :
					alert("Registro Existente.");
					return;
                case 2812 :
					alert("Não encontrado o comando solicitado. Informe ao Suporte, Erro="+String(iErrorNumber)); 
					return;
				case 8162 :
					alert("Parâmetro de Saída não Encontrado. Informe ao Suporte, Erro="+String(iErrorNumber)); 
					return;
				case 8144 :
					alert("Excesso de Parâmetro(s) para executar o comando solicitado. Informe ao Suporte,Erro="+String(iErrorNumber)); 
					return;
                case 8145 :
					alert("Parâmetro informado incorreto. Informe ao Suporte, Erro="+String(iErrorNumber)); 
					return;
				case 18452:
					alert("Erro na conexão com o Banco de Dados. Informe ao Suporte, Erro="+String(iErrorNumber)); 
					return;
				case 4060 :
					alert("Acesso Negado ao Banco de Dados, verifique suas permissões. Informe ao Suporte, Erro="+String(iErrorNumber)); 
					return;

				case 5000 :
					alert( strErrorDescription + " O registro está sendo utilizado por outro usuário.");
					return;

				default :
					alert( String(iErrorNumber) + " : " + strErrorDescription);
					return;
			}

		}
  
  function centerpopup(url,width,height,name,scrollbars){

	var str="height="+height;//+",innerHeight="+height;
		str+=",width="+width;//+",innerWidth="+width;
	if (window.screen) {
		var ah=screen.availHeight-30;
		var aw=screen.availWidth-10;

		var xc=(aw-width)/2;
		var yc=(ah-height)/2;

		str+=",left="+xc+",screenX="+xc;
		str+=",top="+yc+",screenY="+yc;
		str_scroll=(scrollbars != null) ? scrollbars : "auto";
	}
	str+=",toolbar=no,location=no,status=yes,menubar=no,scrollbars="+str_scroll+",resizable=no";

		var janela = window.open(url,name,str);
		janela.focus();
	}
  
function FormataValor(campo,tamanhomax,teclapres) {

//sintaxe: onKeyDown='FormataValor(this, 13, event)
//tamanho máximo de valor 17 caracteres contando com ponto e virgula

	var tecla = teclapres.keyCode;
	vr = campo.value;
	vr = vr.replace( "/", "" );
	vr = vr.replace( "/", "" );
	vr = vr.replace( ",", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( ".", "" );
	tam = vr.length;

	if (tam < tamanhomax && tecla != 8){ tam = vr.length + 1 ; }

	if (tecla == 8 ){	tam = tam - 1 ; }
		
	if ( tecla == 8 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105 ){
		if ( tam <= 2 ){ 
	 		 campo.value = vr ; }
	 	if ( (tam > 2) && (tam <= 5) ){
	 		 campo.value = vr.substr( 0, tam - 2 ) + ',' + vr.substr( tam - 2, tam ) ; }
	 	if ( (tam >= 6) && (tam <= 8) ){
	 		 campo.value = vr.substr( 0, tam - 5 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, 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 - 2, 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 - 2, 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 ) ;}
	}
		
}

function Intervalodata(dataMenor,dataMaior, dataUso, mensagem, campofoco){
	
	if(dataMenor != "" && dataMaior != "" && dataUso != ""){
		dataMenor_temp = dataMenor.split("/")
		dataMaior_temp = dataMaior.split("/")
		dataUso_temp = dataUso.split("/")
					
		dia1 = dataMenor_temp[0]
		mes1 = dataMenor_temp[1]-1
		ano1 = dataMenor_temp[2]
	
		dia2 = dataMaior_temp[0]
		mes2 = dataMaior_temp[1]-1
		ano2 = dataMaior_temp[2]
		
		dia3 = dataUso_temp[0]
		mes3 = dataUso_temp[1]-1
		ano3 = dataUso_temp[2]
	
	
		dataMe = new Date(ano1,mes1,dia1)
		dataMa = new Date(ano2,mes2,dia2)
		dataU = new Date(ano3,mes3,dia3)
		
		if(dataU<dataMe || dataU>dataMa){
			alert(mensagem)
			campofoco.value = ""
			campofoco.focus();
		}
	}
}

function comparadata(data1,data2,mensagem,campofoco){
	
	if(data1 != "" && data2 != ""){
		data1_temp = data1.split("/")
		data2_temp = data2.split("/")
					
		dia1 = data1_temp[0]
		mes1 = data1_temp[1]-1
		ano1 = data1_temp[2]
	
		dia2 = data2_temp[0]
		mes2 = data2_temp[1]-1
		ano2 = data2_temp[2]
	
	
		data1 = new Date(ano1,mes1,dia1)
		data2 = new Date(ano2,mes2,dia2)
		
		if(data1>data2){
			alert(mensagem)
			campofoco.value = ""
			campofoco.focus();
			return false;			
		}
	}
}

function comparadata2(data1,data2,mensagem,campofoco){
	
	if(data1 != "" && data2 != ""){
		data1_temp = data1.split("/")
		data2_temp = data2.split("/")
					
		dia1 = data1_temp[0]
		mes1 = data1_temp[1]-1
		ano1 = data1_temp[2]
	
		dia2 = data2_temp[0]
		mes2 = data2_temp[1]-1
		ano2 = data2_temp[2]
		
		data1 = new Date(ano1,mes1,dia1)
		data2 = new Date(ano2,mes2,dia2)
		
		if(data2<=data1)
		{
			alert(mensagem)
			campofoco.value = ""
			campofoco.focus();
		}
	}
}

function preenchecombo(valor, campo){
			
	if(campo.length>0){
		for(i = campo.length; i >= 0; i--){		
			campo.options[i] = null			
		}
	}
	campo.length = 0;
	for(i = 0; i < valor.length; i++){
		
		campo_temp = valor[i].split("|")
		var newoption = new Option(campo_temp[1],campo_temp[0], false, false);
		campo.options[i] = newoption;				

	}
}
		
function FormataDado(campo,tammax,pos,teclapres){
	var tecla = teclapres.keyCode;
	vr = campo.value;
	vr = vr.replace( "-", "" );
	vr = vr.replace( ".", "" );
	vr = vr.replace( "/", "" );
	tam = vr.length ;

	if (tam < tammax && tecla != 8){ tam = vr.length + 1 ; }

	if (tecla == 8 ){ tam = tam - 1 ; }
			
	if ( tecla == 8 || tecla == 88 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105 ){
		if ( tam <= 2 ){
			campo.value = vr ;}
		if ( tam > pos && tam <= tammax ){
			campo.value = vr.substr( 0, tam - pos ) + '-' + vr.substr( tam - pos, tam );}
	}
}
		
function critiraemail(campo){	
	
	email = campo.value
	
	if(email != ""){
		if( email.indexOf('@') < 1 || email.indexOf('.') < 2 ){
			alert("Email inválido")
			campo.value = ""
			campo.focus();
			return false;
		} else {
			return true;	
		}
	}
}

function validaEmail(campo) {

    email = eval('document.aspnetForm' + '.' + campo);

    if (email.value != "") {
        if (email.value.indexOf('@') < 1 || email.value.indexOf('.') < 2) {
            alert("Email inválido")
            email.focus();
            return false;
        } else {
            return true;
        }
    } else {
        alert("Por favor, informe o enedereço de email!");
        email.focus();
        return false;
    }
}

function preenchermunicipio(campo1, campo2){
	// Sintaxe = <select name='cbo_uf' class='textosimples' onchange='preenchemunicipio(this, document.frm.cbo_municipio)'>
	// Campo 1 = campo que listará as UF
	// Campo 2 = campo que servirá para listar dinamicamente o municipio

	if(campo1.length>0){
		for(i = campo2.length; i >= 0; i--){						
			campo2.options[i] = null
		}
	}

	campo_array = ""
	if(campo1.value != ""){
		campo_array = campo1.value.split("#")	
		campo_array_temp = campo_array[1].split("@")
		campo2.disabled= false
		preenchecombo(campo_array_temp, campo2)
	} else {			
		if(campo1.length>0){
		
			for(i = campo2.length; i >= 0; i--){						
				campo2.options[i] = null
			}			
		}
		campo2.disabled= true
	}
}

function visualizaobjeto(objeto){
		
	if (objeto.style.display == ""){
		objeto.style.display = "none"
		
	} else {
		objeto.style.display = ""
	}
}

function conteudoxml(sql){

	//Caso haja mais de um recordset, os mesmes serão separados por arroba (@) e cada campo do recordset será dividido por pipe(|)
	//strH será o retorno de todos os registros concatenados entre si
	
	var objXML = new ActiveXObject("Microsoft.XMLHTTP");
	objXML.Open("POST", "/sistemas/Padrao/funcoes/XML_back.asp?queryxml="+ sql, false);
	objXML.Send();
	strH = objXML.ResponseText;
	strH = strH.substr(0,strH.length - 1)
				
}


function carac_restantes(obj,qtde_caracteres,obj_carac_restantes) {
// Sintaxe = <input type="text" name="campo2" onkeyup="carac_restantes(this,50)"> ou
//           <input type="text" name="campo2" onkeyup="carac_restantes(this,20,document.nomedoform.campo)">
// obj = campo que será verificada a quantidade de caracteres
// obj_carac_restantes = campo que servirá para listar dinamicamente a quantidade de caracteres restantes. Se nao for informado, sera o proximo campo do que esta sendo verificado
  
  if (obj.value.length > qtde_caracteres) {
    alert("Quantidade máxima de caracteres atingida !");
    obj.value = obj.value.substring(0,qtde_caracteres);
  }
  if (obj_carac_restantes == null) {  // caso obj_carac_restantes nao tenha sido definido
    for (i=0 ; i<obj.form.elements.length ; i++) {
      if (obj.form.elements[i] == obj) {
        var obj_carac_restantes = obj.form.elements[i+1];
        i = obj.form.elements.length;
      }
    }
  }
  if (obj_carac_restantes != null) { // caso obj_carac_restantes exista no documento (apenas verificaçao)
    obj_carac_restantes.style.color = (qtde_caracteres-obj.value.length < 10) ? "red" : "black";
    obj_carac_restantes.value = qtde_caracteres-obj.value.length;
  }
  

}


function validacao(nomeform,camposobrigatorios){
					
	//Nome dos campos que são obrigatórios		
	var campos = camposobrigatorios
			
	camposarray = campos.split(",")
	var countvalida = 0
	for(i = 0; i < camposarray.length; i++){
		evalcampo = eval('document.'+nomeform+'.'+camposarray[i])		

		//alert(evalcampo+'\n'+camposarray[i]);
		//alert(document.frm.rd_nivel.length)

		if(evalcampo.type == "select-multiple") {
			if(evalcampo.length == 0){
				alert("Campo Obrigatório")
				evalcampo.focus();
				countvalida = countvalida + 1
				return false;
			}
		} else {
			if(evalcampo.value == ""){
				alert("Campo Obrigatório")
				countvalida = countvalida + 1
				evalcampo.focus();
				return false;
			}
		}
	}
}

function disabled_f5(){

	if (document.all)
	{ 
	document.onkeydown = function ()
		{
		var key_f5 = 116; 
		if (key_f5 == event.keyCode)
		{
			event.keyCode=0;
			alert ("Função desabilitada!");
		}
			return false;
		}
	}

}

function dateDiff(datainicio, datafim, tipo) {

	//tipo = W: semanas / d: dias / h: horas / s: segundos

	date1 = new Date();
	date2 = new Date();
	diff  = new Date();

	datainicio = datainicio.substring(3,5) + "/" + datainicio.substring(0,2) + "/" +datainicio.substring(6,10);
	datafim = datafim.substring(3,5) + "/" + datafim.substring(0,2) + "/" +datafim.substring(6,10);

	date1temp = new Date(datainicio)
	date1.setTime(date1temp.getTime());

	date2temp = new Date(datafim);
	date2.setTime(date2temp.getTime());

	diff.setTime(Math.abs(date1.getTime() - date2.getTime()));

	timediff = diff.getTime();
	
	semanas = Math.floor(timediff / (1000 * 60 * 60 * 24 * 7));

	dias = Math.floor(timediff / (1000 * 60 * 60 * 24)); 

	horas = Math.floor(timediff / (1000 * 60 * 60)); 

	min = Math.floor(timediff / (1000 * 60)); 

	sec = Math.floor(timediff / 1000); 
			
	switch (tipo) 
	{
	case "w" :
		return semanas
		break;
	case "d" :
		return dias
		break;
	case "h" :
		return horas
		break;
	case "m" :
		return min
		break;
	case "s" :
		return sec
		break;
	default :
		return dias
		break;
	}

}

function dateAdd(intval, numb, base){

	/*
	intval - A expressão de string que é o intervalo que vc deseja incluir. 
		yyyy  - Ano
	   m     - Mês
	   d     - Dia
	   h     - Hora
	   n     - Minuto
	   s     - segundo
	numb - A expressão numerica que é o número do intervalo que vc deseja incluir. 
			Essa expressão pode ser positiva para datas no futuro ou negativa para as datas no passado
	base - Representa a data na qual o interval é incluido. Obs: deverá ser usada a função StringtoData(data) para que seja trago a string em formato de data object
	*/
	
	switch(intval){
		case "M":
			base.setMonth((base.getMonth()*1) + (numb*1));
			break;
		case "YYYY":
			base.setFullYear((base.getFullYear()*1) + (numb*1));
			break;
		case "D":
			base.setDate((base.getDate()*1) + (numb*1));
			break;
		case "H":			
			base.setHours((base.getHours()*1) + (numb*1));
			break;
		case "N":
			base.setMinutes((base.getMinutes()*1) + (numb*1));
			break;
		case "S":
			base.setSeconds((base.getSeconds()*1) + (numb*1));
			break;
		default:
	}
	return base
}


function mascara_global(mascara, valor){

// sintaxe :  mascara_global("###.###.###,##","123456789")
 
 var mascara_utilizar;
 var mascara_limpa;
 var temp;
 var i;
 var j;
 var caracter;
 var separador;
 var dif;
 var validar;
 var mult;
 var ret;
 var tam;
 var tvalor;
 var valorm;
 var masct;
 tvalor = "";
 ret = "";
 caracter = "#";
 separador = "|";
 mascara_utilizar = "";
 valor = trim(valor);
 if (valor == "")return valor;
 temp = mascara.split(separador);
 dif = 1000;
 
 valorm = valor;
 //tirando mascara do valor já existente
 for (i=0;i<valor.length;i++){
  if (!isNaN(valor.substr(i,1))){
   tvalor = tvalor + valor.substr(i,1);
  }
 }
 valor = tvalor;
 
 //formatar mascara dinamica
 for (i = 0; i<temp.length;i++){
  mult = "";
  validar = 0;
  for (j=0;j<temp[i].length;j++){
   if (temp[i].substr(j,1) == "]"){
    temp[i] = temp[i].substr(j+1);
    break;
   }
   if (validar == 1)mult = mult + temp[i].substr(j,1);
   if (temp[i].substr(j,1) == "[")validar = 1;
  }
  for (j=0;j<valor.length;j++){
   temp[i] = mult + temp[i];
  }
 }
 
 //verificar qual mascara utilizar
 if (temp.length == 1){
  mascara_utilizar = temp[0];
  mascara_limpa = "";
  for (j=0;j<mascara_utilizar.length;j++){
   if (mascara_utilizar.substr(j,1) == caracter){
    mascara_limpa = mascara_limpa + caracter;
   }
  }
  tam = mascara_limpa.length;
 }else{
  //limpar caracteres diferente do caracter da máscara
  for (i=0;i<temp.length;i++){
   mascara_limpa = "";
   for (j=0;j<temp[i].length;j++){
    if (temp[i].substr(j,1) == caracter){
     mascara_limpa = mascara_limpa + caracter;
    }
   }
   
   if (valor.length > mascara_limpa.length){
    if (dif > (valor.length - mascara_limpa.length)){
     dif = valor.length - mascara_limpa.length;
     mascara_utilizar = temp[i];
     tam = mascara_limpa.length;
    }
   }else if (valor.length < mascara_limpa.length){
    if (dif > (mascara_limpa.length - valor.length)){
     dif = mascara_limpa.length - valor.length;
     mascara_utilizar = temp[i];
     tam = mascara_limpa.length;
    }
   }else{
    mascara_utilizar = temp[i];
    tam = mascara_limpa.length;
    break;
   }
  }
 }
 
 //validar tamanho da mascara de acordo com o tamanho do valor
 if (valor.length > tam){
  valor = valor.substr(0,tam);
 }else if (valor.length < tam){
  masct = "";
  j = valor.length;
  for (i = mascara_utilizar.length-1;i>=0;i--){
   if (j == 0) break;
   if (mascara_utilizar.substr(i,1) == caracter){
    j--;
   }
   masct = mascara_utilizar.substr(i,1) + masct;
  }
  mascara_utilizar = masct;
 }
 
 //mascarar
 j = mascara_utilizar.length -1;
 for (i = valor.length - 1;i>=0;i--){
  if (mascara_utilizar.substr(j,1) != caracter){
   ret = mascara_utilizar.substr(j,1) + ret;
   j--;
  }
  ret = valor.substr(i,1) + ret;
  j--;
 }
 return ret;
}
 
//tirar os espaços das extremidades do valor passado
function trim(valor){
 for (i=0;i<valor.length;i++){
  if(valor.substr(i,1) != " "){
   valor = valor.substr(i);
   break;
  }
  if (i == valor.length-1){
   valor = "";
  }
 }
 for (i=valor.length-1;i>=0;i--){
  if(valor.substr(i,1) != " "){
   valor = valor.substr(0,i+1);
   break;
  }
 }
 return valor;
}

function Valida(obj){
   if (obj.value == ""){ 
//      alert("Informe a NUP!");
//      obj.focus();
      return false;
   } 
   if ((char_cont(obj.value, '/') > 1 ) || (char_cont(obj.value, '.') > 1 ) || (char_cont(obj.value, '-') > 1 )) {
       alert("NUP inválida, preencha corretamente!");
       obj.value = '';
       obj.focus();
       return;
   }
   if(mod_processo(obj.value)){
        obj.focus();
	return;
   } 
//   alert ("Nup valida");
 return;
}

/**=========================================================================
char_cont(string, n): Retorna a quantidade de vezes que um determinado 
		      caracter aparece em uma string
=========================================================================**/
function char_cont(string, n){
  var cont = 0;
  for ( i=0; i <= string.length-1; i++ ) {
     if ( string.charAt(i) == n)  cont = cont + 1;
  }
 return cont;
}

function InStr(n, s1, s2){
  var numargs=InStr.arguments.length;
  return (numargs<3) ? n.indexOf(s1)+1 : s1.indexOf(s2, n)+1;
}

function InStrRev(n, s1, s2){
  var numargs=InStrRev.arguments.length;
  return (numargs<3) ? n.lastIndexOf(s1)+1 : s1.lastIndexOf(s2, n)+1;
}

// FUNCAO PARA VERIFICAÇÃO DE CAMPOS NÃO PREENCHIDOS
// OU PREENCHIDOS APENAS COM ESPAÇOS EM BRANCO
function verifica_branco(parametro){
  teste_parametro = "false";
  tamanho_parametro = parametro.length;
  if (tamanho_parametro != 0){
    for (i = 0; i < tamanho_parametro; i++){
      if (parametro.charAt(i) != " "){teste_parametro = "true";}
    }
    return (teste_parametro == "false") ? false : true;
  }else{
    return false;
  }
 return false;
}

/***********************************************************************
    Funçoes para validação de NUP
***********************************************************************/
// --Funcao para formatar a nup
function Formatar_Nup( vl_identif, teclapres ) {
   var tecla = teclapres.keyCode;
   if ( tecla == 9 || tecla == 8 ){
	c = vl_identif.value;
   } else {
	s  = vl_identif.value;
	c  =   "";
	
	for ( i = 0; i < s.length; i++ ) {
			if ( s.charAt(i) >= 0 && s.charAt(i) <= 9 ) c += s.charAt(i);
			if ( c.length == 5  ) c += ".";
			if ( c.length == 12 ) c += "/";
			if (( c.charAt(13) != "2" && c.length == 15 ) ||
			    ( c.charAt(13) == "2" && c.length == 17 ) )  c += "-";
	}
   }
   return c;
}
function mod_calc_11( no_proces ){
	var tam = 0;
	var i   = 0;
	var nro_tdo = "";

	for (i=0;i<20;i++){
	  if ( !isNaN(parseInt(no_proces.charAt(i))) ){	
		nro_tdo += parseInt(no_proces.charAt(i))
	  }
	}
	dig1 = mod_11 ( nro_tdo );
  	dig2 = mod_11 ( nro_tdo + dig1 );
	digv = "" + dig1 + dig2;

return(digv);
}

// --  Rotina de validacao o Modulo 11
function mod_processo(no_proces, mensg){
var mensg = "sim";
n_proc = no_proces;

  if (no_proces.length >0){
 	if( no_proces.length < 18 || no_proces.length == 19){
	    alert("NUP  '"+n_proc+"'  inválida!");
	    document.all.ctl00_ctl00_ContentPlaceHolder1_ContentPlaceHolder1_txt_NUP.value="";
          return ( true );
      }
  }

	var tam = 0;
	var i   = 0;
	var nro_tdo = "";
	for (i=0;i<20;i++){
	  if ( !isNaN(parseInt(no_proces.charAt(i))) ){	
		nro_tdo += parseInt(no_proces.charAt(i))
	  }
	}

      var nro_part = nro_tdo.substr( 0, nro_tdo.length -2 );
      var nro_dig  = nro_tdo.substr( nro_tdo.length -2, nro_tdo.length);

	dig1 = mod_11 ( nro_part );
  	dig2 = mod_11 ( nro_part + dig1 );
	digv = "" + dig1 + dig2;
  
	if( mensg = "sim" && digv != nro_dig ){
		alert("NUP '"+ nro_tdo +"' inválida!");
		document.all.ctl00_ctl00_ContentPlaceHolder1_ContentPlaceHolder1_txt_NUP.value="";
	}

  return (digv, digv != nro_dig);
}

// --  Rotina de calculo Modulo 11
function mod_11( nro ){
	fator = 2;
	Soma  = 0;
	i     = 0;
	tam   = 0;
	modulo = new Array(20);
	for (i=0; i<20; i++){
	  if ( !isNaN(parseInt(nro.charAt(i))) ){	
		tam++;
		modulo[tam] = parseInt(nro.charAt(i));
	  }
	}

	for (i=tam ;i>0 ;i--){
	    Soma = Soma + (modulo[i] * fator );
	    fator++;
	}

	Dig = Soma % 11;
	Dig = 11 - Dig;
	if (Dig > 9 ){
	      Dig = Dig -10;
	}
	return ( Dig );
}

function mod_erro(no_proces){
	var tam = 0;
	var i   = 0;
	var nro_tdo = "";
	for (i=0;i<no_proces.length;i++){
	  if ( !isNaN(parseInt(no_proces.charAt(i))) ){	
		nro_tdo += parseInt(no_proces.charAt(i))
	  }
	}
      var nro_part = nro_tdo.substr( 0, nro_tdo.length -2 );
      var nro_dig  = nro_tdo.substr( nro_tdo.length -2, nro_tdo.length);

	dig1 = mod_11 ( nro_part );
  	dig2 = mod_11 ( nro_part + dig1 );
	digv = "" + dig1 + dig2;
   return (digv != nro_dig);
}

function Frmt_Nup( s ) {
   c  =   "";
   for ( i = 0; i < s.length; i++ ) {
      if ( s.charAt(i) >= 0 && s.charAt(i) <= 9 ) c += s.charAt(i);
      if ( c.length == 5  ) c += ".";
      if ( c.length == 12 ) c += "/";
	if (( c.charAt(13) != "2" && c.length == 15 ) || ( c.charAt(13) == "2" && c.length == 17 ) )  c += "-";
   }
 return c;
}

 function Func_Nup(form,txt) {
	if ( form != null){
		form.innerText = (txt);
	}
  return;
 }

 function pes_dv_com_erro(form)
  {
    if (form.name == "Frm_Dv_Ano_Quaduplo") {
      var campos  = new Array(form.calculo_dv01,form.calculo_dv02,form.calculo_dv03,form.calculo_dv04,form.calculo_dv05,form.calculo_dv06,form.calculo_dv07,form.calculo_dv08,form.calculo_dv09,form.calculo_dv10,form.calculo_dv11,form.calculo_dv12,form.calculo_dv13,form.calculo_dv14,form.calculo_dv15,form.calculo_dv16,form.calculo_dv17);
      var valores_campos = new Array(form.calculo_dv01.value,form.calculo_dv02.value,form.calculo_dv03.value,form.calculo_dv04.value,form.calculo_dv05.value,form.calculo_dv06.value,form.calculo_dv07.value,form.calculo_dv08.value,form.calculo_dv09.value,form.calculo_dv10.value,form.calculo_dv11.value,form.calculo_dv12.value,form.calculo_dv13.value,form.calculo_dv14.value,form.calculo_dv15.value,form.calculo_dv16.value,form.calculo_dv17.value);
    }
    if (form.name == "Frm_Dv_Ano_Duplo"){
       var campos  = new Array(form.calculo_dv01Dp,form.calculo_dv02Dp,form.calculo_dv03Dp,form.calculo_dv04Dp,form.calculo_dv05Dp,form.calculo_dv06Dp,form.calculo_dv07Dp,form.calculo_dv08Dp,form.calculo_dv09Dp,form.calculo_dv10Dp,form.calculo_dv11Dp,form.calculo_dv12Dp,form.calculo_dv13Dp,form.calculo_dv14Dp,form.calculo_dv15Dp);
       var valores_campos = new Array(form.calculo_dv01Dp.value,form.calculo_dv02Dp.value,form.calculo_dv03Dp.value,form.calculo_dv04Dp.value,form.calculo_dv05Dp.value,form.calculo_dv06Dp.value,form.calculo_dv07Dp.value,form.calculo_dv08Dp.value,form.calculo_dv09Dp.value,form.calculo_dv10Dp.value,form.calculo_dv11Dp.value,form.calculo_dv12Dp.value,form.calculo_dv13Dp.value,form.calculo_dv14Dp.value,form.calculo_dv15Dp.value);
    }

    var Str_Nups_Corretas = "";
    var cont = 0;
    var i;
    var campo_em_branco = 90;
    var nup_para_calcular = "";
    var arry_para_calculo = "";

    for (i in campos){
        if (!verifica_branco(campos[i].value)){ 
          cont = cont + 1;
          campo_em_branco = i;
      }
    }

    if (cont > 1 || cont == 0){
      alert ("Atenção, para efetuar o calculo deixe apenas um campo vazio.\nPor favor verifique.");
      return;
    }

    if (cont == 1){
       for (i=0;i<=9;i++){
           valores_campos[campo_em_branco] = i; 
           arry_para_calculo = valores_campos;
           if (!mod_erro(arry_para_calculo.join("")) == true){
             Str_Nups_Corretas = Frmt_Nup(arry_para_calculo.join(""));
             if (campo_em_branco!= 90){campos[campo_em_branco].value = i;}
           }
           arry_para_calculo = "";
       }
    }
  

   if (Str_Nups_Corretas == ""){
     Str_Nups_Corretas = (!mod_erro(valores_campos.join(""))) ? Frmt_Nup(valores_campos.join("")) : "Invalida";
   }

   Str_Nups_Corretas = (Str_Nups_Corretas == "") ? "Invalida" : Str_Nups_Corretas ; 

   if (form.name == "Frm_Dv_Ano_Duplo"){
     Func_Nup (document.all.Id_NupDP, " Nup: " + Str_Nups_Corretas);
   }
   if (form.name == "Frm_Dv_Ano_Quaduplo"){
     Func_Nup (document.all.Id_Nup, " Nup: " + Str_Nups_Corretas);
   }

 
   return;
 }

 function pes_dv(formulario)
   {
    if (formulario.nup.value == ""){
       alert("Preencha a nup corretamente. Ex.: 22111.000014/2001");
       formulario.nup.focus();
      return;
    }else{
       if ( (formulario.nup.value.indexOf(".")<1) || (formulario.nup.value.indexOf(" ")>0) || formulario.nup.value.indexOf("/")<1){
         alert("Preencha o nup corretamente. Ex.: 22111.000014/2001");
         formulario.nup.focus();
         return;
       }else{
         formulario.calculo_dv.value = mod_calc_11(formulario.nup.value,'gera');
         formulario.nup.focus();
       }
      return;
     }
   }

/***********************************************************************
  Auto tabulação
***********************************************************************/

 var isNN = (navigator.appName.indexOf("Netscape")!=-1);
 function autoTab(input,len, e) {
   var keyCode = (isNN) ? e.which : e.keyCode;
   var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];

   if(input.value.length >= 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;
}
return true;
}

function popup_Avancado(url,nome,width,height) {
    win=window.open(url,nome,"width="+width+",height="+height+",toolbar=no,location=no,directories=no,status=yes,menubar=no,scrollbars=yes,resizable=yes,copyhistory=no")
	text = "Se a janela não estava abrindo\ntalvez seja porque voce tenha um\nprograma bloqueador de pop-up!\nObservacao » O windows XP service pack 2\nbloqueia pop-ups!";
	if (win == null) { 
		alert(text); 
		return; 
	}

	var ah=screen.availHeight-30;
	var aw=screen.availWidth-10;

	var xc=(aw-width)/2;
	var yc=(ah-height)/2;

	win.moveTo(xc,yc);
}

/***********************************************************************
Funçoes para validação de NUMERACAO
***********************************************************************/
// --Funcao para formatar a nup
function Formatar_Numeracao( vl_identif, teclapres ) {
   var tecla = teclapres.keyCode;
   if ( tecla == 9 || tecla == 8 ){
	c = vl_identif.value;
   } else {
	s  = vl_identif.value;
	c  =   "";
	
	for ( i = 0; i < s.length; i++ ) {
			if ( s.charAt(i) >= 0 && s.charAt(i) <= 9 ) c += s.charAt(i);
			if ( c.length == 6  ) c += "/";
			if ( c.length == 11 ) c += "-";
	}
   }
   return c;
}

function Valida_Numero(item){

    var nro_tdo = item.value;
    if (nro_tdo == ""){ 
        return;
   }
   
   if ((char_cont(nro_tdo, '/') > 1 ) || (char_cont(nro_tdo, '-') > 1 )) {
       alert("Não foi encontrada nenhuma demanda com o número informado. Se persistir alguma dificuldade, entre em contato com a Ouvidoria-Geral.");
       item.value="";
       item.focus();
       return;
   }
   
    var nro_part = nro_tdo.substr( 0, nro_tdo.length -2 );
    var nro_dig  = nro_tdo.substr( nro_tdo.length -2, nro_tdo.length);

	dig1 = mod_11 ( nro_part );
  	dig2 = mod_11 ( nro_part + dig1 );
	digv = "" + dig1 + dig2;

	if(digv!=nro_dig||nro_tdo.length>14)
	{
	    alert("Não foi encontrada nenhuma demanda com o número informado. Se persistir alguma dificuldade, entre em contato com a Ouvidoria-Geral.");
        item.value="";
        item.focus();
        return;
	}
}
	
//--  Rotina de calculo Modulo 11
function mod_11( nro ){
	fator = 2;
	Soma  = 0;
	i     = 0;
	tam   = 0;
	modulo = new Array(20);
	for (i=0; i<20; i++){
	  if ( !isNaN(parseInt(nro.charAt(i))) ){	
		tam++;
		modulo[tam] = parseInt(nro.charAt(i));
	  }
	}

	for (i=tam ;i>0 ;i--){
	    Soma = Soma + (modulo[i] * fator );
	    fator++;
	}

	Dig = Soma % 11;
	Dig = 11 - Dig;
	if (Dig > 9 ){
	      Dig = Dig -10;
	}
	return ( Dig );
}

/**=========================================================================
char_cont(string, n): Retorna a quantidade de vezes que um determinado 
		      caracter aparece em uma string
=========================================================================**/
function char_cont(string, n){
  var cont = 0;
  for ( i=0; i <= string.length-1; i++ ) {
     if ( string.charAt(i) == n)  cont = cont + 1;
  }
 return cont;
}


function avisoAguarde()
{
    if(document.getElementById('divAguardando'))
    {
        document.getElementById('divAguardando').style.display='';
        return;
    }
    oDiv = document.createElement("div");
    with (oDiv)
    {
        id = "divAguardando";
    }
    document.body.appendChild(oDiv);
}


function txtBoxFormat(obj, sMask, evtKeyPress, Caracteres) 
{
    /**** exemplo: onKeyUp="return txtBoxFormat(this, '999.999.999-99', event, '0123456789.-');" **/
    var i, nCount, sValue, fldLen, mskLen, bolMask, sCod, nTecla;
    if(document.all) 
    { // Internet Explorer
        nTecla = evtKeyPress.keyCode; 
    }
    else 
    { // outros browses
        nTecla = evtKeyPress.which;
    }

    sValue = obj.value;
    // Limpa todos os caracteres de formatação que
    // já estiverem no campo.
    sValue = sValue.toString().replace( "-", "" );
    sValue = sValue.toString().replace( "-", "" );
    sValue = sValue.toString().replace( ".", "" );
    sValue = sValue.toString().replace( ".", "" );
    sValue = sValue.toString().replace( "/", "" );
    sValue = sValue.toString().replace( "/", "" );
    sValue = sValue.toString().replace( "(", "" );
    sValue = sValue.toString().replace( "(", "" );
    sValue = sValue.toString().replace( ")", "" );
    sValue = sValue.toString().replace( ")", "" );
    sValue = sValue.toString().replace( " ", "" );
    sValue = sValue.toString().replace( " ", "" );
    fldLen = sValue.length;
    mskLen = sMask.length;

    i = 0;
    nCount = 0;
    sCod = "";
    mskLen = fldLen;

    while (i <= mskLen) 
    {
        bolMask = ((sMask.charAt(i) == "-") || (sMask.charAt(i) == ":") || (sMask.charAt(i) == ".") || (sMask.charAt(i) == "/"))
        bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) == ")") || (sMask.charAt(i) == " "))

        if (bolMask) 
        {            
            if(nTecla!=8)    
                sCod += sMask.charAt(i);
                
            mskLen++; 
        }
        else 
        {
            sCod += sValue.charAt(nCount);
            nCount++;
        }
        i++;
    }

    obj.value = limpa_string(sCod,Caracteres);

    return true;
}

