var MSIE = (document.all); //Internet Explorer 
var NSN4 = (document.layers); //Netscape	
document.charSet="ISO-8859-2";


function trocaFotoGal(){

	var foto1_0 = document.getElementById("foto1_0");
	var foto2_0 = document.getElementById("foto2_0");	
	var foto1_1 = document.getElementById("foto1_1");
	var foto2_1 = document.getElementById("foto2_1");		

	if (foto1_0!=null && foto2_0!=null && foto1_1!=null && foto2_1!=null  )
	{
	
		if(foto1_0!=null && foto2_0!==null)
		{
			if(foto1_0.style.display!="none"){
				foto1_0.style.display ="none";
				foto2_0.style.display ="";
				
			}else{
				foto1_0.style.display ="";
				foto2_0.style.display ="none";		
			}
		}
		
		if(foto1_1!=null && foto2_1!==null)
		{
			if(foto1_1.style.display!="none"){
				foto1_1.style.display ="none";
				foto2_1.style.display ="";
				
			}else{
				foto1_1.style.display ="";
				foto2_1.style.display ="none";		
			}
		}
	}
}








objX = null;
function ver(i) {
	var s = "t" + i;
	objX = document.getElementById(s);
	if(objX != null) {
		if(objX.style.display == "none") {
			objX.style.display = "";
		} else {
			objX.style.display= "none";
		}
	}
}

function abre(idGal,idSec)
{
	selectsStatus("hidden");
	var corpo            = document.getElementsByTagName('BODY')[0]; 
	if(document.getElementById("pmcgGalery"))
		corpo.removeChild(document.getElementById("pmcgGalery"));
		
	var dynamicGAL       = document.createElement("div");
	dynamicGAL.id        = "pmcgGalery";	
	
	galeriaHTML          = "<object classid='clsid:D27CDB6E-AE6D-11cf-96B8-444553540000' codebase='http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0' name='galeriaPMCG' width='626' height='526' id='galeriaPMCG'>";
	galeriaHTML         += "	<param name='movie' value='galeria.swf' />";
	galeriaHTML         += "	<param name='quality' value='high' />";
	galeriaHTML         += "	<param name='swliveconnect' value='true' />";
	galeriaHTML         += "	<param name='wmode' value='transparent' />";
	galeriaHTML         += "	<param name='flashvars' value='idGaleria="+idGal+"&idSecretaria="+idSec+"'>";
	galeriaHTML         += "	<embed flashvars='idGaleria="+idGal+"&idSecretaria="+idSec+"' wmode='transparent' src='galeria.swf' swliveconnect='true'  width='626' height='526' quality='high'  pluginspage='http://www.macromedia.com/go/getflashplayer' type='application/x-shockwave-flash' name='galeriaPMCG'></embed>";
	galeriaHTML         += "</object>";
	
	dynamicGAL.innerHTML = galeriaHTML;
	corpo.appendChild(dynamicGAL);
	
}
function closePMCGGalery()
{
	selectsStatus("visible");
	var corpo = document.getElementsByTagName('BODY')[0];
	if(document.getElementById("pmcgGalery"))
		corpo.removeChild(document.getElementById("pmcgGalery"));
}

/*function abre(id,s)
{
	if(id!=0){
		ref = window.open("modulos/galeria/player/visualizer.php?s="+s+"&id="+id,'galeriaDeFoto','width=700, height=500');
		ref.focus();
	}else{
		
		var janprint = window.open('','','left=0,top=0,width=800,scrollbars=0,status=0,resizable');
		janprint.document.write('<html><body scroll=auto>');
		janprint.document.write("<img src='SATUR/imagens/modulos/galeria/39127_galeria.jpg' />");
		janprint.document.write('</body></html>');
		janprint.focus();		
	}
}*/



function sendValue(vlr)
	{
	globVLR=vlr;
	}
	

/*--------------------------------------------------------------------------------
Esconde os SELECT's quando abre alguma div flutuante
--------------------------------------------------------------------------------*/
	function selectsStatus(v) 
	{
		
	e = document.getElementsByTagName('SELECT');
	for (var i=0;i<e.length;i++) 
		
		e[i].style.visibility=v;

	}



/*-------------------------------------------------------------------------------- 
Nome        :showEnq(par)
Descrição   :Abre janela PopUp para a enquete

Evento      :onClick
Parâmetros  :par
obs         :
--------------------------------------------------------------------------------*/
function showEnq(par,s)
	{

	if(globVLR == "" && par == "1")
		{
		alert("Você deve selecionar alguma resposta na enquete\n para votar.");
		return;
		}
	else 
		{
		window.open("modulos/enquete/resultadoEnq.php?s="+s+"&work="+par+"&vl="+globVLR,"","width=350 height=350 status scrollbars");
		}		
	}
globVLR="";

/*-------------------------------------------------------------------------------- 
Nome        :rolar()
Descrição   :Posiciona a barra de rolagem da página na posição do eixo 
Y que estava quando foi solicitado um PostBack.
Evento      :onLoad
Parâmetros  :Nenhum
obs         :
--------------------------------------------------------------------------------*/
function rolar(){  
		valor=Form1.rolagemy.value;
		if(valor==""){
			//window.scroll(0,0);	para janela 
			document.getElementById("conteudo").scrollTop=valor; // para div
		}else{
			valor=parseInt(valor);
			//window.scroll(0,valor);	 // para janela
			document.getElementById("conteudo").scrollTop=valor; // para div
		}
}

/*--------------------------------------------------------------------------------
Nome        :atualizaPosicaoRolagem()
Descrição   :Atualiza uma variável Hidden no Form com a posição Y da barra de rolagem antes do Clique em algum submit
Evento      :onmouveOver e onFocus do componente que irá causar o submit(PostBack) na Página
Parâmetros  :Nenhum
obs         :O componente deve estar dentro de uma Div com ID igual a "conteudo"
--------------------------------------------------------------------------------*/
function atualizaPosicaoRolagem(){ 
	//document.Form1.rolagemy.value=document.body.scrollTop;  // para a janela 		
	document.Form1.rolagemy.value=document.getElementById("conteudo").scrollTop;		
}

/*--------------------------------------------------------------------------------
Nome        :qtdCaracteres(campo,label,limite)
Descrição   :Exibe a quantidade de caracteres em um label durante a digitação
Evento      :onKeyUp no textbox
Parâmetros  :
    campo   = String com o nome do campo
    label   = String com o ID do Label que receberá o número informando a quantidade de caracteres
    limite  = Inteiro informando a quantidade máxima permitida para o textbox que será contado os caracteres
obs         :É necessário um Label e um TextBox
--------------------------------------------------------------------------------*/
function qtdCaracteres(campo,label,limite){
			var qtd_agora=document.Form1[campo].value.length;
			document.Form1[campo].maxLength=limite;
			if(qtd_agora<=limite){
				document.getElementById(label).innerText=qtd_agora;
			}		
}

/*--------------------------------------------------------------------------------
nome        :verificaVazio(campo,msg)
Descrição   :Testa se campo esta vazio e exibe a mensagem
Evento      :onBlur 
Parâmetros  :
    campo   = String com o nome do campo a ser validado
    msg     = String com a mensagem a ser exibida
Obs         :
--------------------------------------------------------------------------------*/
function verificaVazio(campo,msg){
	if(document.Form1[campo].value==""){
		if(msg!=""){
			window.alert(msg);
			document.Form1[campo].focus()
		}
	} 
}

/*--------------------------------------------------------------------------------
nome        :imprimir(idDiv)
Descrição   :Imprimir apenas o conteúdo que está em uma DIV
Evento      :onClick ou outro
Parâmetros  :
    idDiv   = String com a id da Div
Obs         :   
--------------------------------------------------------------------------------*/
function imprimir(idDiv){
	var objeto = document.getElementById(idDiv);
	var janprint = window.open('','','left=2000,top=2000,width=1,height=1,scrollbars=0,status=0');
	janprint.document.write('<html>');
	janprint.document.write('<head>');
	janprint.document.write('<link href=../css/estilos.css rev=stylesheet rel=stylesheet type=text/css>');
	janprint.document.write('</head>');
	janprint.document.write('<body>');
	janprint.document.write(objeto.innerHTML);
	janprint.document.write('</body>');
	janprint.document.write('</html>');
	janprint.document.close();
	janprint.focus();
	janprint.print();
	janprint.close();
}

/*--------------------------------------------------------------------------------
nome        :selecionaCheckbox(cbBox)
Descrição   :Marca ou Desmarca todos os Checkbox de um formulário
Evento      :onClick 
Parâmetros  :  
    cbBox   =O nome do CheckBox que será clicado para marcar ou  desmarcar todos
Obs         :Não possui restrição para grupos de checagem, a funcao marca e 
desmarca todos os checkbox existentes no Formulário
--------------------------------------------------------------------------------*/
function selecionaCheckbox(cbBox){
	if(document.Form1[cbBox].checked)
		valor=false
		else
			valor=true
	
	qtd_elementos=document.Form1.elements.length;
	for(i=0;i<qtd_elementos;i++){
		if(document.Form1.elements[i].type=="checkbox"){
			//if(!document.Form1.elements[i].disabled)
				document.Form1.elements[i].checked=valor;				
		}
	}			
}

/*--------------------------------------------------------------------------------
nome        :validaData(campo)
Descrição   :valida se a data está correta e retorna true ou false
Evento      :onClick ou outro
Parâmetros  :
    campo   = String com o nome do campo a ser validado
Obs         :   
--------------------------------------------------------------------------------*/
function validaData(campo){ 
 
	      	data= document.Form1[campo].value;
	      	if (data==""){
	      		return false;
	      	}
	      	else{
	      		data=data.replace(" ",""); // remove espaços
	      	}
			
				posbarra1=data.indexOf("/",0);
				posbarra2=data.indexOf("/",posbarra1+1);
				
				dia = data.substring(0,posbarra1); 
				mes = data.substring(posbarra1+1 , posbarra2); 
				ano = data.substring(posbarra2+1,10); 
				var observacao = 0;			
				var retorno = 1; 
				// o sistema  aceita de 1753 a 9999, mas este escript foi limitado desde 1900
				if((ano>=1900)&&(ano<=3000)){				
					if(ano > 80 && ano <= 99) // corrige o ano caso foi digitado com apenas dois numeros
						ano = 1900 + parseInt(ano,10);
					else
						ano = 2000 + parseInt(ano,10);					
				}else{
					if(data.length>=8){
						observacao = 1; // retorna 2 para mudar exibir mensagem de observacao e nao de erro. 
					}
				}
					
				if(dia.length==0 || mes.length==0 ){
					retorno = 0; 
				}
				// verifica o dia valido para cada mes 
				if ((dia < 1)||(dia < 1 || dia > 30) && (mes == 4 || mes == 6 || mes == 9 || mes == 11 ) || dia > 31){ 
					retorno =0;
				} 
				// verifica se o mes e valido 
				if (mes < 1 || mes > 12 ){ 
				retorno =0;
				} 
				// verifica se é ano bissexto 
				//se o resto divisao do ano por 4 for 0 o ano é bisexto senão o ano é normal
				if (mes == 2 && ( dia < 1 || dia > 29 || ( dia > 28 && (parseInt(ano / 4) != ano / 4)))){ 
					retorno =0;
				} 
				if (document.Form1[campo].value == ""){ 
					retorno =0;
				}             
				if (retorno == 0 ) { 
					alert("Data Incorreta!");
					document.Form1[campo].focus(); 
					document.Form1[campo].select();
					return false;
				} else if(observacao==1){ // mensagem de observacao
					alert("OBSERVAÇÃO: Este ano não é aceito pelo sistema!");
					document.Form1[campo].focus(); 
					document.Form1[campo].select();
					return false;				
				}
				else{
					return true;
				}
						
} 


// ENTRADA DE DATA NO FORMATO AAAAMMDD  - EX:20060506
//SAIDA 06/05/2006
	function converteData(pData){  
		   
		if (pData==""){
 
			return false;
		}
		else{

				var dataConvertida=pData.substring(6,8) +"/"+ pData.substring(4,6) + "/" + pData.substring(0,4);
				return dataConvertida	;
		}
	}	
		


/*--------------------------------------------------------------------------------
nome        :comparaDatas(campo1,campo2,msg)
Descrição   :Verifica se a data1 é maior ou igual a data 2 e retorna true ou false
Evento      :onClick ou outro
Parâmetros  :
    campo1   =String com o nome do primeiro campo com data
    campo2   =String com o nome do segundo campo com data
    msg      =String com a mensagem a ser exibida
Obs         :   
--------------------------------------------------------------------------------*/
function comparaDatas(campo1,campo2,msg){
		
		dt1=window.document.Form1[campo1].value;
		dt2=window.document.Form1[campo2].value;		
		
		var hoje = new Date();
		var ano = hoje.getYear();
		if(ano >= 50 && ano <= 99) // formata o ano pra 4 caracteres
			ano = 1900 + ano
		else
			ano = 2000 + ano;
		
		var pos1 = dt1.indexOf("/",0)
		var dd = dt1.substring(0,pos1)

		pos2 = dt1.indexOf("/", pos1 + 1)
		var mm = dt1.substring(pos1 + 1,pos2) // captura o mes da data1
		var aa = dt1.substring(pos2 + 1,10) // captura o ano da data1

		if(aa.length < 4) // formata o ano pra 4 caracteres
			if(ano > 1999)
				aa = (2000 + parseInt(aa,10))
			else
				aa = (1900 + parseInt(aa,10));

		var data1 = new Date(parseInt(aa,10),parseInt(mm,10) - 1, parseInt(dd,10)); //cria um objeto com a data1

		var pos1 = dt2.indexOf("/",0)
		
		var dd = dt2.substring(0,pos1)
		pos2 = dt2.indexOf("/", pos1 + 1) // indexOf( StringConsulta , posicaoInicialConsulta )
		var mm = dt2.substring(pos1 + 1,pos2)
		var aa = dt2.substring(pos2 + 1,10)
		
		if(aa.length < 4)  // formata o ano pra 4 caracteres
			if(ano > 80 && ano <= 99)
				aa = (1900 + parseInt(aa,10)) // parseInt(variavel, base)
			else
				aa = (2000 + parseInt(aa,10));

		var data2 = new Date(parseInt(aa,10),parseInt(mm,10) - 1,parseInt(dd,10)); //cria um objeto com a data2

	if(data1 < data2) // compara as datas
	{
		alert(msg);
		window.document.Form1[campo1].focus();
		document.Form1[campo1].select();
		return false;
	}
	else{
		return true; 
	}

} 

/*--------------------------------------------------------------------------------
nome        :janelaPopup(pagina,nome,w,h,add_atributos)
Descrição   :abre arquivo em uma nova janela popUp
Evento      :onClick ou outro
Parâmetros  :
    pagina  =String com o nome do arquivo a ser aberto
    nome    =String com o nome da Janela
    w       =Inteiro informando o valor da largura da janela
    h       =Inteiro informando o valor da altura da janela
    add_atributos=String com Atributos e valores adicionais 
Obs         :   
--------------------------------------------------------------------------------*/
var win;
function janelaPopup(pagina,nome,w,h,add_atributos){
	
	var winl = (screen.width-w)/2;
	var wint = (screen.height-h)/2;
	//Atributos
	var settings ='height='+h+',';
	settings +='width='+w+',';
	settings +='top='+wint+',';
	settings +='left='+winl+',';
	settings +='resizable=yes,location=no';
		
	if(add_atributos!=""){
		settings +=add_atributos;
	}		
	win=window.open(pagina,nome,settings);
	//Correção para outros navegadores
	if(parseInt(navigator.appVersion) >= 4){win.window.focus();}
}

/*--------------------------------------------------------------------------------
nome        :fecharPop()
Descrição   :fechar janela popUp atual
Evento      :onClick ou outro
Parâmetros  :nenhum   
Obs         :   
--------------------------------------------------------------------------------*/
function fecharPop(){
	if(win)
		win.close();
}

/*--------------------------------------------------------------------------------
nome        :capturaTecla(e)
Descrição   :Captura e retorna o valor ASC de uma tecla pressionada
Evento      :onPress ou onKeyUp
Parâmetros  :
        e=evento disparado no momento, usar "event" neste parametro
Obs         : esta função é utilizada na maioria da vezes por funções do proprio arquivo
--------------------------------------------------------------------------------*/
function capturaTecla(e){	
		if(MSIE){
		
			if(e!=null){
				tecla = event.keyCode;	//captura o ASC da tecla pressionada	
			}else{
				tecla=7;
			}
	
		}else{
			document.captureEvents(Event.KEYPRESS | Event.KEYUP);
			tecla=	e.which;
		}	
return tecla;	
}

/*--------------------------------------------------------------------------------
nome        :verificaTecla(campo,evento)
Descrição   :Verifica e Bloqueia tecla que nao é numérica.
Evento      :onPress ou onKeyUp
Parâmetros  :
        campo  =String com o nome do campo que está ocorrendo a digitação
        evento =Evento disparado no momento, usar "event" neste parametro
Obs         : esta função é utilizada na maioria da vezes por funções do proprio arquivo
--------------------------------------------------------------------------------*/
function verificaTecla(campo,evento){
	//Modo de usar: TxtBox1.Attributes.Add("onKeyPress", "verificaTecla(this.name)")
	//				TxtBox1.Attributes.Add("onBlur", "verificaTecla(this.name)")
	tecla=capturaTecla(evento);	
	if(tecla==0){ // retorna 0 se a tecla for especia com setinhas por exemplo
		return 0;
	}
	//esta condicao permite ele digitar apenas um sinal -
	// para se permitir valor negativo em um campo, é necessário que seu 
	//id | nome possua a flasg _neg. o JS identifica esse campo e permite o sinal de - como sendo 
	//o primeiro caractere
	if((campo.indexOf("_neg")!=-1)&& document.Form1[campo].value.length==0){ // encontrar string neg no nome do campo , habilita num negativos
		condicao=((tecla > 47 && tecla < 58) || tecla==45 || tecla==0); ////número de 0 à 9 ou sinal de -
	}else{
		condicao=(tecla > 47 && tecla < 58 || tecla==0 ); //número de 0 à 9
	}	
	
	if(condicao) 
				return 1;
	else
		
		if ((tecla != 8) && (tecla !=17) && (tecla !=16))//teclas de combinação
		{	
			if(MSIE){
				if(evento!=null){
					evento.keyCode = 0;
				}
				
			}else{
				evento.preventDefault(); // cancela digitação netscape
			}			
			return 0;			
		}
		else
			return 1;			
}				

/*--------------------------------------------------------------------------------
nome        :formataMilhar(campo,evento)
Descrição   :Formata os campos de milhar durante a digitacao
Evento      :onKeyUp ou onBlur
Parâmetros  :
        campo =String com o nome do campo que está ocorrendo a digitação
        evento=Evento disparado no momento, usar "event" neste parametro
Obs         : COLOCAR MAXLENGHT=15 NO TEXTBOX DE CHAMADA
--------------------------------------------------------------------------------*/
function formataMilhar(campo,evento){
	
	var tammax = 15
	var Numero = verificaTecla(campo,evento);
	vr=verificaNumero(campo); // ja tem o limpaFormato
	if (!vr) {return false;}
	
	var tam = vr.length;

	if (tam >= tammax)
	{ 
		if (Numero == 0) // esta formatação so vai ocorrer caso o usuariio colar no campo a quantidade de 
		{				 //caracteres maior que o tamanho maximo (17)
			vr = vr.slice(0, tammax);
			tam = vr.length;
		}
		else
		{
			return false;
		}
	} 

	tam = vr.length + Numero; // soma com o retorno da funcao verificaTecla que pode ser 0 ou 1
	if ( tam <= 3 ){ 
		document.Form1[campo].value = vr ; 
		}
	if ( (tam > 3) && (tam <= 6)){
		valor= vr.substring( 0, tam - 3 ) + '.' + vr.substring( tam - 3, tam ) ; 
		document.Form1[campo].value =valor;
		}
		
	if((tam >= 7) && (tam <= 9) ){
		valor= vr.substring( 0, tam - 6) + '.' + vr.substring( tam - 6, tam - 3) + '.' + vr.substring( tam - 3, tam ) ; 
		document.Form1[campo].value =valor;
	}
	if ((tam >= 10) && (tam <= 12))
	{
		valor=vr.substring( 0, tam - 9 ) + '.' + vr.substring( tam - 9, tam -6 ) + '.' + vr.substring( tam - 6, tam - 3 ) + '.' + vr.substring( tam - 3, tam ) ; 
		document.Form1[campo].value =valor;
	}
	
	if ((tam >= 13) && (tam <= 15))
	{
		valor=vr.substring( 0, tam - 12 ) + '.' + vr.substring( tam - 12, tam -9 ) + '.' + vr.substring( tam - 9, tam - 6 ) + '.' + vr.substring( tam - 6, tam-3 ) + '.' + vr.substring( tam - 3, tam ); 
		document.Form1[campo].value =valor;
	}	

} //function
				
/*--------------------------------------------------------------------------------
nome        :formataMoeda(campo,evento)
Descrição   :Formatação de moeda durante a digitacao
Evento      :onKeyUp ou onBlur
Parâmetros  :
        campo  =String com o nome do campo que está ocorrendo a digitação
        evento =Evento disparado no momento, usar "event" neste parametro
Obs         : usar o maxlength do campo moeda para o valor dos digitos mais os caracteres de separacao
	ex se usar formataMoeda(this.name,event) o maxlength do text box deve ser 22 onde 
	17 sao os caracteres numericos e 5 são os pontos e virgulas 
--------------------------------------------------------------------------------*/
function formataMoeda(campo,evento){
	valorcampo=document.Form1[campo].value;	
	sinalNeg=(valorcampo.charAt(0)=="-") ? true : false;
	campoNeg=(campo.indexOf("neg")!=-1)? true : false;
		

	var Numero = verificaTecla(campo,evento);
	vr=verificaNumero(campo); // ja tem o limpaFormato
	
	if (!vr) {return false;}	
	var tammax = 17;
	var tam = vr.length;
	
	if (tam >= tammax){ 
		if (Numero == 0) // esta formatação so vai ocorrer caso o usuariio colar no campo a quantidade de 
		{				 //caracteres maior que o tamanho maximo (17)
			vr = vr.slice(0, tammax);
			tam = vr.length;
		}
		else{
			return false;
		}
	} 

	if(evento!=null){
		nomeEvento=evento.type;

		nomeEvento=nomeEvento.toLowerCase();
		
		if(nomeEvento=="keypress" || nomeEvento=="keyup" ){
			tam = vr.length + Numero; // soma com o retorno da funcao verificaTecla que pode ser 0 ou 1
		}else{   
			tam = vr.length;			
		}  
	}
	if(valorcampo<1){ // quando o resultado é em centavos
		valorcampo=valorcampo.replace(".",",");
		valorcampo=valorcampo.substr(0,4);
		document.Form1[campo].value=valorcampo;
	}else{	
			if(tam <= 2){ 				
				document.Form1[campo].value = vr ; 				
			}			
			if((tam > 2) && (tam <= 5) ){
				document.Form1[campo].value = vr.substr( 0, tam - 2 ) + ',' + vr.substr( tam - 2, tam ) ; 
			}
			if((tam >= 6) && (tam <= 8)){
				document.Form1[campo].value = vr.substr( 0, tam - 5 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ) ; }
			if((tam >= 9) && (tam <= 11) ){
				document.Form1[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) ){
				document.Form1[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) ){
				document.Form1[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 ) ;}
	}
	if(sinalNeg && campoNeg){
		valorcampo=document.Form1[campo].value
		valorcampo=valorcampo.replace("-","");
		document.Form1[campo].value="-"+valorcampo;
	}
} 

/*--------------------------------------------------------------------------------
nome        :validaCpf(campo,evento)
Descrição   :valida um CPF e retorna false quando incorreto
Evento      :onBlur
Parâmetros  :
        campo  =String com o nome do campo que possui o CPF
        evento =Evento disparado no momento, usar "event" neste parametro
Obs         : usar o maxlength do campo moeda para o valor dos digitos mais os caracteres de separacao
	exemplo se usar formataMoeda(this.name,event) o maxlength do text box deve ser 22 onde 
	17 sao os caracteres numericos e 5 são os pontos e virgulas 
--------------------------------------------------------------------------------*/
function validaCpf(campo,evento) 
{ 
	// esta opção deve ser chamado juntamente com o formata_cpf ver exeplo no formata_cpf	
	var Numero = verificaTecla(campo,evento);
	vr=verificaNumero(campo); // ja tem o limpaFormato
	if (!vr) {return false;}
	
		cpf = vr;        
        Retorno = 1;
		var numeros, digitos, soma, i, resultado, digitos_iguais; 
		digitos_iguais = 1; 
		if (cpf.length < 11) 
            Retorno = 0 ; 
		 for (i = 0; i < cpf.length - 1; i++) 
            if (cpf.charAt(i) != cpf.charAt(i + 1)) 
            { 
              digitos_iguais = 0; 
              break; 
            } 
		if (!digitos_iguais) 
		{ 
            numeros = cpf.substring(0,9); 
            digitos = cpf.substring(9); 
            soma = 0; 
            for (i = 10; i > 1; i--) 
                  soma += numeros.charAt(10 - i) * i; 
            resultado = soma % 11 < 2 ? 0 : 11 - soma % 11; 
            if (resultado != digitos.charAt(0)) 
                  Retorno = 0;
            numeros = cpf.substring(0,10); 
            soma = 0; 
            for (i = 11; i > 1; i--) 
                  soma += numeros.charAt(11 - i) * i; 
            resultado = soma % 11 < 2 ? 0 : 11 - soma % 11; 
            if (resultado != digitos.charAt(1)) 
                 Retorno = 0;
		} 
			else 
				Retorno = 0; 
	  if(Retorno==0)
      {
		if(document.Form1[campo].value!="")
		{
			window.alert("CPF Incorreto !");
			document.Form1[campo].focus();
			document.Form1[campo].select();
			return false;
		}
		
      }
 } 
/*--------------------------------------------------------------------------------
nome        :validaCpf(campo,evento)
Descrição   :valida um CNPJ e retorna false quando incorreto
Evento      :onBlur
Parâmetros  :
        campo  =String com o nome do campo que possui o CNPJ
        evento =Evento disparado no momento, usar "event" neste parametro
Obs         : 
--------------------------------------------------------------------------------*/
function validaCnpj(campo,evento) 
{ 	/*esta funcao deve ser chamado junto com o formata_cnpj ver exemplo na funcao formata_cnpj */
	
	var Numero = verificaTecla(campo,evento);
	vr=verificaNumero(campo); // ja tem o limpaFormato
	if (!vr) {return false;}
	
	cnpj = vr
	
	retorno=1;
   
     var numeros, digitos, soma, i, resultado, pos, tamanho, digitos_iguais; 
     digitos_iguais = 1; 
      if (cnpj.length < 14 ){retorno=0;}
     
     for (i = 0; i < cnpj.length - 1; i++)
     { 
           if (cnpj.charAt(i) != cnpj.charAt(i + 1)) 
           { 
                digitos_iguais = 0; 
                break; 
           } 
     }
      
      if (!digitos_iguais) 
       { 

            tamanho = cnpj.length - 2 
            numeros = cnpj.substring(0,tamanho); 
            digitos = cnpj.substring(tamanho); 
            soma = 0; 
            pos = tamanho - 7; 
            for (i = tamanho; i >= 1; i--) 
                  { 
                  soma += numeros.charAt(tamanho - i) * pos--; 
                  if (pos < 2) 
                        pos = 9; 
                  } 
            resultado = soma % 11 < 2 ? 0 : 11 - soma % 11; 
            if (resultado != digitos.charAt(0))
            { 
                  retorno=0;//return false; 
            }
            tamanho = tamanho + 1; 
            numeros = cnpj.substring(0,tamanho); 
            soma = 0; 
            pos = tamanho - 7; 
            for (i = tamanho; i >= 1; i--) 
                  { 
                  soma += numeros.charAt(tamanho - i) * pos--; 
                  if (pos < 2) 
                        pos = 9; 
                  } 
            resultado = soma % 11 < 2 ? 0 : 11 - soma % 11; 
            if (resultado != digitos.charAt(1)) 
            {
                  retorno=0;
             }

       } 
      else {
			retorno=0;
            return false; 
      } 
      
      if(retorno==0)
      {
		window.alert("CNPJ Incorreto !")
		return false;
      }
      
 }//function
  
 /*--------------------------------------------------------------------------------
nome        :limpaFormato(campo)
Descrição   :limpar alguns caracteres usado em formataçã de um campo de string
Evento      :onBlur
Parâmetros  :
        campo  =String com o nome do campo com o texto a ser retirado os caracteres
Obs         : 
--------------------------------------------------------------------------------*/
function limpaFormato(campo) 
{
	vr = document.Form1[campo].value;	
	valor="";
	
	for (pos=0; pos < vr.length; pos ++)
	{
		sinalmenos	=vr.charAt(pos)!='-';		
		sinalponto	=vr.charAt(pos)!='.';
		sinalvirgula=vr.charAt(pos)!=',';
		sinalbarra	=vr.charAt(pos)!='/';
		
		if ( (sinalmenos) && (sinalponto) && (sinalvirgula) && (sinalbarra) )
		{
			valor = valor + vr.charAt(pos);
		}  
	}
	return valor;	
}

/*--------------------------------------------------------------------------------
nome        :verificaNumero(campo)
Descrição      :Verifica se a string digitada é numerica
Evento     :onBlur
Parâmetros  :
        campo  =String com o nome do campo com o texto
Obs         : se for usado no evento onBlur alguma funcao do tipo validaCpf, validaCnpj não é necessário 
	          fazer uso desta funcao pois a mesma ja está inclusa.
--------------------------------------------------------------------------------*/
function verificaNumero(campo){
	var valor = limpaFormato(campo);
	if(valor!=""){		
		if (isNaN(valor)){
			window.alert("O valor digitado não é válido, verifique sua digitação");	
			document.Form1[campo].focus();
			document.Form1[campo].select();
			return false;
		}else{
			return valor;
		}		
	}
	return true;
} //func
      

/*--------------------------------------------------------------------------------
nome       :somaDoisCampos(campo1,campo2)
Descrição  :Retorna a soma de dois números
Evento     :onClick ou outros
Parâmetros :
        campo1  =String com o nome do campo com o primeiro número
        campo2  =String com o nome do campo com o segundo número
Obs        : 
--------------------------------------------------------------------------------*/
function somaDoisCampos(Campo1,Campo2){
	var Campo_1 = verificaNumero(Campo1);      
	if(!Campo_1){return false};

	var Campo_2 = verificaNumero(Campo2);      
	if(!Campo_2){return false};

	Campo_1=parseFloat(Campo_1);
	Campo_2=parseFloat(Campo_2);

	if (isNaN(Campo_1)){
			Campo_1=0;
	}
	if (isNaN(Campo_2)){
			Campo_2=0;
	}
	return parseFloat(Campo_1 + Campo_2);
}


/*--------------------------------------------------------------------------------
nome       :visivel(id,valor)
Descrição  :Oculta e torna visível um elemento 
Evento     :onClick ou outros
Parâmetros :
        id      =String com o id do elemento a ficar visível ou invisível
        valor   =Booleano true para ficar visível e valor False para ficar invisível
Obs        : 
--------------------------------------------------------------------------------*/
function visivel(id,valor){
		if(valor==true){
			window.document.getElementById(id).style.visibility="visible";
		}else if (valor==false){
			window.document.getElementById(id).style.visibility="hidden";		
		}
}
/*--------------------------------------------------------------------------------
nome       :somaDoisCampos(campo1,campo2)
Descrição  :Oculta e torna visível um elemento 
Evento     :onClick ou outros
Parâmetros :
        id  =String com o id do elemento a ficar v
Obs        : 
--------------------------------------------------------------------------------*/
function voltar(url){
	if(url!=""){
		location.href=url;
	}else{
		history.back(-1);
	}
}

/*--------------------------------------------------------------------------------
nome        :validaCpfCnpj(campo,evento)
Descrição   :Valida um campo que poder ser preenchido tanto um CPF quanto um CNPJ
Evento      :onClick ou outros
Parâmetros  :
        campo  =String com o nome do campo que possui o CPF ou CNPJ 
        evento =Evento disparado no momento, usar "event" neste parametro
Obs         : 
--------------------------------------------------------------------------------*/
  function validaCpfCnpj(campo,evento) {
 	valorcampo=document.Form1[campo].value;		
 	if(valorcampo.length<=14){	
 		validaCpf(campo,evento); 		
 	}else{	
 		validaCnpj(campo,evento); 		
 	}  	
 }	   

/*--------------------------------------------------------------------------------
nome        :arredondaNumero(valor)
Descrição   :Retorna o arredondamento de um número com a mesma regra de arredondamento usado pelo Excel
Evento      :onClick ou outros
Parâmetros  :
       valor=String com o valor a ser arredondado        
Obs         : 
--------------------------------------------------------------------------------*/
function arredondaNumero(valor){		
	var resp=Math.round(parseFloat(valor)*100)/100;
	return resp;
	
}

/*--------------------------------------------------------------------------------
nome        :validaDia(campo)
Descrição   :Valida um dia e retorna false quando o for inválido.
Evento      :onClick ou outros
Parâmetros  :
       valor=String com o nome do campo que receberá dia a ser validado.
Obs         : 
--------------------------------------------------------------------------------*/
function validaDia(campo){
	var dia=document.Form1[campo].value;
	if(dia!=""){
		if(dia <1 || dia>31){
			window.alert("Dia incorreto !");	
			document.Form1[campo].value="";	
			document.Form1[campo].focus();			
			return false;
		}
	}	
}


/*--------------------------------------------------------------------------------
nome        :txtBoxFormat(campo, sMask, evento)
Descrição   :formata um campo do formulário de acordo com a máscara informada
Evento      :onClick ou outros
Parâmetros  :
        campo    =String com o nome do campo que será formatado
        sMask       =String com a regra da máscara formatação
        evento =Evento Disparado
Obs         : ! representa numeros ou letras 
exemplos    :
CEP -> 99999-999
CPF -> 999.999.999-99
CNPJ -> 99.999.999/9999-99
C/C -> 999999-!
Tel -> (99) 9999-9999
--------------------------------------------------------------------------------*/
function txtBoxFormat(campo, sMask, evento) {
	alert(campo);
    var i, nCount, sValue, fldLen, mskLen,bolMask, sCod, nTecla;

    if(document.all) { // Internet Explorer
    nTecla = evento.keyCode; }
    else if(document.layers) { // Nestcape
    nTecla = evento.which;
    }

    sValue = form1[campo].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) == "/"))
    bolMask = bolMask || ((sMask.charAt(i) == "(") || (sMask.charAt(i) ==
    ")") || (sMask.charAt(i) == " "))

    if (bolMask) {
    sCod += sMask.charAt(i);
    mskLen++; }
    else {
    sCod += sValue.charAt(nCount);
    nCount++;
    }

    i++;
    }

    form1[campo].value = sCod;

    if (nTecla != 8) { // backspace
    if (sMask.charAt(i-1) == "9") { // apenas números...
    return ((nTecla > 47) && (nTecla < 58)); } // números de 0 a 9
    else { // qualquer caracter...
    return true;
    } }
    else {
    return true;
    }
}


/*--------------------------------------------------------------------------------
Muda a Imagem quando passa o mouse:
onmouseover="MudaImagem(this,'imagem1.jpg')" 
onmouseout="MudaImagem(this,'imagem2.jpg')" 
--------------------------------------------------------------------------------*/
	function MudaImagem(imagem,nova_imagem){	
		imagem.src = nova_imagem;
	}


/*--------------------------------------------------------------------------------
Função Imprimir
--------------------------------------------------------------------------------*/

  function imprimir(){
    window.print();
  }