function AbrirJanela(id,url,barra, largura, altura) {
		     var width = largura;
 			 var height = altura;

  			var left = 200;
  			var top = 150;

			  window.open(url+id,'janela', 'width='+width+', height='+height+', top='+top+', left='+left+', scrollbars='+barra+', status=no, toolbar=no, location=no, directories=no, menubar=no, resizable=no, fullscreen=no'); }
			  
function replaceAll(string, token, newtoken) {
	while (string.indexOf(token) != -1) {
 		string = string.replace(token, newtoken);
	}
	return string;
}


	function verifica_caracteres_invalidos(campo,nome)  {	//Função Criada para verificar caracteres inválidos nos campos dos formulários		
	var strlogin = campo.value; //Recebe o valor do campo
	var caracteres = "'";		//recebe a string com caracters invalidos
	caracteres += '"'; 			//recebe a string com caracters invalidos
	var result = true;
	for (i = 0;i<caracteres.length;i++) {
		if(strlogin.indexOf(caracteres.charAt(i)) != -1) {
			var strerror = caracteres.substring(i,i+1); //recebe o caracter errado
			var result = false;
			window.alert("Você digitou o caracter invalido " + strerror + " no campo " + nome + ".\nCaso o caracter não seja removido o sistema não executará a tarefa e o trabalho será perdido");							 
			break; }	}
	}

<!--Função de formato de moeda -->
function InserePontuacao(campooriginal,decimais) {
	var posicaoPontoDecimal;
	var campo = '';
	var resultado = '';
	var pos,sep,dec;
	//Retira possiveis separadores de milhar
	for (pos=0; pos < campooriginal.value.length; pos ++) {
		if (campooriginal.value.charAt(pos)!='.')
        	campo = campo + campooriginal.value.charAt(pos); }     
	//Formata valor monetário com decimais
	posicaoPontoDecimal = campo.indexOf(',');
  	if (posicaoPontoDecimal != -1)  {
		sep = 0;
		for (pos=posicaoPontoDecimal-1;pos >= 0;pos--) {
        sep ++;
        if (sep > 3) {
			resultado = '.' + resultado;
			sep = 1; }
		resultado = campo.charAt(pos) + resultado;   }
	// Trata parte decimal
    if (parseInt(decimais) > 0 ) {
		resultado = resultado + ',';
		pos=posicaoPontoDecimal+1;
        for (dec = 1;dec <= parseInt(decimais); dec++) {
			if (pos < campo.length) {
				resultado = resultado + campo.charAt(pos);
                pos++;}
			else
              	resultado = resultado + '0';   }  }  }
    // Trata valor monetário sem decimais
    else  {
		sep = 0;
        for (pos=campo.length-1;pos >= 0;pos--)  {
        	sep ++;
        	if (sep > 3) {
           		resultado = '.' + resultado;
           		sep = 1;    }
        	resultado = campo.charAt(pos) + resultado;        }
      	// Trata parte decimal
      	if (parseInt(decimais) > 0 )  {
			resultado = resultado + ',';
         	for (dec = 1;dec <= parseInt(decimais); dec++) {
				resultado = resultado + '0';   }  }  }
   campooriginal.value = resultado;
}

function checkDecimal()   
{   
    var index = event.srcElement.value.indexOf( ',' );   
    var decimal;   
       
    if( index >= 0 )   
    {   
        decimal =  event.srcElement.value.substring( index );   
        if( decimal.length >= 2 )   
            return false;   
    }   
    return true;   
}   
function FormataValor(campo){
var temp=(v=campo.value.replace(/[^\d]?/g,'')).replace(/##/,''),temp1=v.replace(/#/,''),len=(le=temp1.length)-2;
	if(v.length==1)novo = ","+v;
	else if(/##+(.*)/.test(v)&&v.length==4){novo=","+temp;}
		else{novo=temp1.substring(0,len)+","+temp1.substring(le,len);}
campo.value=novo;
}

function formatamascara(valor, id, mascara, evento)
{
	/*
		Diego Hellas
		diegohellas@comunidadephp.com.br

		Versão 3.0
		Data: 04/05/2007
		Novidades da versão: Implementação de máscara para valores monetários no padrão brasileio. 
				     TAB automático quando a máscara não for valor monetário
		
		Esse script foi desenvolvido com a finalidade de suprir qualquer necessidade
		com máscaras em formulários HTML.
		Para funcionar corretamente o campo tem que ter obrigatóriamente a propriedade
		id no campo input <input name="teste" id="teste" type="text" />, o script so foi
		testado com o evento onkeyup, não sei do comportamento do script com outros eventos
		Uma outra caracteristica dele(desde que não seja valores monetários) é a verificação do tipo de dado que entra por posição
		na máscara comforme a tabelinha a seguir:
		***************************
		*       números      *  # *
		***************************
		* qualuqer caratcter *  @ *
		***************************
	*/  
	
	
	/////////////////////////////////////////////////////////////////////////////////
	//                             MODELO  DE MÁSCARA                              //
	//onkeyup="mascaraHellas(this.value, this.id, '####.##.##.#######-#/#', event)"//
	/////////////////////////////////////////////////////////////////////////////////

	/////////////////////////////////////////////////////////////////////////////////
	//                         MODELO  DE MÁSCARA MONETÁRIA                        //
	//onkeyup="mascaraHellas(this.value, this.id, 'money', event)"                 //
	/////////////////////////////////////////////////////////////////////////////////
	
	
	//inicializa a variavel que vai conter o valor final
	var valorFinal = "";
	
	//verifica o que foi digitada para que seja verificado se é somente números ou não
	var tecla = evento.keyCode;	
	
	//manetem o tamanho original do campo sem retirar a máscara
	var valorOriginal = valor;
	
	//inicializa um array com todos os caracteres que serão retirado
	var arrNaoPermitidos = new Array("-", ".", "/", "\\", "|", "(", ")", ":", " ", ",");
	
	//retira qualquer máscatra que já tenho sido colocada
	for(i1=0;i1<valor.length;i1++)
	{
		for(i2=0;i2<arrNaoPermitidos.length;i2++)
		{
			if(valor.charAt(i1) == arrNaoPermitidos[i2])
			{
				valor = valor.toString().replace( arrNaoPermitidos[i2], "" );
			}	
		}	
	}	
	
	//merifica se a máscara é mometária ou uma máscara fixa
	if(mascara == "money")
	{
		//retira os zeros da frente do valor
		var temZero = true;
		while(temZero == true)
		{
			if(valor.substring(0,1) == "0")
			{
				valor = valor.substring(1,valor.length);
			}
			else
			{
				temZero = false;
			}	
		}		
		
		//verifica se foi precionado o backspae
		if(tecla == 8)
		{
			valor = valor.substring(0, valor.length);	
		}

		//faz as verificações para a formatação do valor
		if(valor.length == 1)
		{
			valorFinal = "0,0"+valor;	
		}
		else if(valor.length == 2)
		{
			valorFinal = "0,"+valor;	
		}
		else if(valor.length == 4 && valor.substr(0,2) == "00")
		{
			valorFinal = "0,"+valor.substr(2);	
		}
		else if(valor.length == 4 && valor.substr(0,1) == "0" && valor.substr(0,2) != "00")
		{
			valorFinal = valor.substr(1,1)+","+valor.substr(2);	
		}
		else if(valor.length >= 4 || valor.length == 3)
		{
			var parteInteira = valor.substr(0, (valor.length -2));
			var parteDecimal = valor.substr((valor.length -2))  
			var inteiro = "";
			var cont = 1;
			var milhar = ""; 	
			
			for(i = parteInteira.length; i>0 ; i--)
			{					
				if(cont == 4)
				{
					milhar = ".";
					cont = 2;
				}
				else
				{
					milhar = "";
					cont++;
				}	
			
				inteiro = parteInteira.substr((i-1),1)+ milhar + inteiro;
			}
			
			valorFinal = inteiro+","+parteDecimal;
		}
		else
		{
			valorFinal = "0,00";
		}	
	}
	else
	{	
		//verifica se foi precionado o backspae
		if(tecla != 8)
		{			
			//verifica se já não ultrapassou o tamanha máximo da máscara
			if(mascara.length >= valorOriginal.length)
			{			
				//loop em cima do valor do campo sem a máscara
				jaTemMascara = false;
				for(i=0;i<valor.length;i++)
				{			
					//verifica se a string já recebeu alguma máscara ou não
					if(jaTemMascara == false)
					{
						//verifica se o tipo da entrada de dados tem que ser némerica
						if(mascara.charAt(i) == "#")
						{
							//verifica se foi digitado somente números
							if(((tecla > 95) && (tecla < 106)) || ((tecla > 47) && (tecla < 58)) || tecla == 9 || tecla == 16)
							{
								//0 = 96 ou 48
								//1 = 97 ou 49
								//2 = 98 ou 50
								//3 = 99 ou 51
								//4 = 100 ou 52
								//5 = 101 ou 53
								//6 = 102 ou 54
								//7 = 103 ou 55
								//8 = 104 ou 56
								//9 = 105 ou 57
								//tecla == 9 = tab
								valorFinal = valorFinal  + valor.charAt(i);
							}
							else//se não foi digitado um número é retirado o caracter da string
							{
								valorFinal = valorOriginal.substring(0, valorOriginal.length -1);
							}					
						}
						else if(mascara.charAt(i) == "@")//verifica se o tipo da entrada é qualquer caracter
						{
							valorFinal = valorFinal  + valor.charAt(i);
						}
						else//se não for quelaquer caracter é algum elemento da máscara
						{
							//verifica se o próxima depois da máscara é númerica 
							if(mascara.charAt(i + 1) == "#")
							{
								//verifica se foi digitado somente números
								if(((tecla > 95) && (tecla < 106)) || ((tecla > 47) && (tecla < 58)) || tecla == 9 || tecla == 16)
								{
									//0 = 96 ou 48
									//1 = 97 ou 49
									//2 = 98 ou 50
									//3 = 99 ou 51
									//4 = 100 ou 52
									//5 = 101 ou 53
									//6 = 102 ou 54
									//7 = 103 ou 55
									//8 = 104 ou 56
									//9 = 105 ou 57
									//tecla == 9 = tab
									valorFinal = valorFinal + mascara.charAt(i + jaTemMascara)  + valor.charAt(i);			
									jaTemMascara = jaTemMascara + 1;	
								}
								else//se não foi digitado um número é retirado o caracter da string
								{
									valorFinal = valorOriginal.substring(0, valorOriginal.length -1);
								}
							}
							else// se não é númerico então pode ser qualuqer caracter
							{
								valorFinal = valorFinal + mascara.charAt(i + jaTemMascara)  + valor.charAt(i);			
								jaTemMascara = jaTemMascara + 1;
							}					
						}
					}
					else//else da verificação da máscara
					{
						//verifica se foi digitado somente números
						if(mascara.charAt(i + jaTemMascara) == "#")
						{
							//verifica se foi digitado somente números
							if(((tecla > 95) && (tecla < 106)) || ((tecla > 47) && (tecla < 58)) || tecla == 9 || tecla == 16)
							{
								//0 = 96 ou 48
								//1 = 97 ou 49
								//2 = 98 ou 50
								//3 = 99 ou 51
								//4 = 100 ou 52
								//5 = 101 ou 53
								//6 = 102 ou 54
								//7 = 103 ou 55
								//8 = 104 ou 56
								//9 = 105 ou 57
								//tecla == 9 = tab
								valorFinal = valorFinal  + valor.charAt(i);
							}
							else//se não foi digitado um número é retirado o caracter da string
							{
								valorFinal = valorOriginal.substring(0, valorOriginal.length -1);
							}
						}
						else if(mascara.charAt(i + jaTemMascara) == "@")//verifica se o tipo da entrada é qualquer caracter
						{
							valorFinal = valorFinal  + valor.charAt(i);
						}
						else
						{
							//verifica se foi digitado somente números
							if(mascara.charAt(i + jaTemMascara +1) == "#")
							{
								//verifica se foi digitado somente números
								if(((tecla > 95) && (tecla < 106)) || ((tecla > 47) && (tecla < 58)) || tecla == 9 || tecla == 16)
								{
									//0 = 96 ou 48
									//1 = 97 ou 49
									//2 = 98 ou 50
									//3 = 99 ou 51
									//4 = 100 ou 52
									//5 = 101 ou 53
									//6 = 102 ou 54
									//7 = 103 ou 55
									//8 = 104 ou 56
									//9 = 105 ou 57
									//tecla == 9 = tab
									valorFinal = valorFinal + mascara.charAt(i + jaTemMascara)  + valor.charAt(i);			
									jaTemMascara = jaTemMascara + 1;	
								}
								else//se não foi digitado um número é retirado o caracter da string
								{
									valorFinal = valorOriginal.substring(0, valorOriginal.length -1);
								}
							}
							else// se não é númerico então pode ser qualuqer caracter
							{
								valorFinal = valorFinal + mascara.charAt(i + jaTemMascara)  + valor.charAt(i);			
								jaTemMascara = jaTemMascara + 1;
							}							
						}	
					}//fim da verificação da máscara	
				}	
			}
			else
			{
				valorFinal = valorOriginal.substring(0, mascara.length);	
			}//final da verificação do tamanha máximo da string
		}
		else
		{
			//valorFinal = valorOriginal.substring(0, valorOriginal.length -1)
			valorFinal = valorOriginal.substring(0, valorOriginal.length);		
		}//final da verificação do backspace		
	}
	document.getElementById(id).value = valorFinal;
	
	//faz as verificações para que seja feito o tab automático
	if(mascara != "money")
	{
		
	}
}

        var aAbas       = new Array();  // Lista de abas do documento atual
        var sAbaAtiva   = ""                 // Define qual é a aba ativa no momento
        var ABA_ID      = 1
        var ABA_BLOCO   = 2
        var ABA_CAMPOS  = 3
        
        function defineAba( sId, sBloco ){
           var aAba  = new Array( ABA_CAMPOS );
           aAba[ ABA_ID    ]  = sId;
           aAba[ ABA_BLOCO ]  = sBloco;
           aAbas.push( aAba );
        }

        function defineAbaAtiva( sId ){
           trataCliqueAba( sId );
        }

        function trataMouseAba( oAba ){
           oAba.style.cursor  = "pointer";
        }

        function trataCliqueAba( sId ){
           for ( var iAba  = 0; iAba < aAbas.length; iAba++ ){
              var aAba  = aAbas[ iAba ];

              if   ( aAba[ ABA_ID ] == sId ) ativaAba( aAba );

              else                           inativaAba( aAba );
           }
        }

        function ativaAba( aAba ){
           var sAba       = aAba[ ABA_ID ];
           var oAba       = document.getElementById( sAba );
           mudaClasse( oAba, "abaativa" ); // Esse comando chama a classe css para fazer a troca

           var sBlocoAba  = aAba[ ABA_BLOCO ];
           var oBlocoAba  = document.getElementById( sBlocoAba );
           oBlocoAba.style.display  = "block";
        }

        function inativaAba( aAba ){
           var sAba       = aAba[ ABA_ID ];
           var oAba       = document.getElementById( sAba );
           mudaClasse( oAba, "abainativa" ); // Esse comando chama a classe css para fazer a troca

           var sBlocoAba  = aAba[ ABA_BLOCO ];
           var oBlocoAba  = document.getElementById( sBlocoAba );
           oBlocoAba.style.display  = "none";
        }
        
        function mudaClasse( oObjeto, sClasse ){
           oObjeto.className  = sClasse;
        }