/*
#################################################################################################################################
#	====================================== ARQUIVO DE FUNÇÕES GERAIS EM JAVASCRIPT ============================================ #
#	AUTOR	    	: Priscila Schumacker (www.schumacker.com.br)																#
#	DATA CRIAÇÃO	: 08/08/2005																								#
#################################################################################################################################
*/	

/*
#################################################################################################################################
#																																#
#	FUNCAO	    	: setfocus()																								#
#	DESCRICAO		: Função para setar o focus em no primeiro input do formulário.												#
#	OBS				: Nas propriedades do body coloque:	<body onLoad="setfocus();">												#
#																																#
#################################################################################################################################
*/	

	function setfocus() {
		if(document.form){
			return (document.form.elements[0].focus());
		}else{
				return false;
		}
	}

/*
#################################################################################################################################
#																																#
#	FUNCAO	    	: layer(camada,opcao)																						#
#	DESCRICAO		: Função para mostrar ou ocultar um conteúdo de uma layer.													#
#  	PARAMETROS		: camada 	- Nome da layer 1, ou seja, o ID da layer														#
# 				      opcao 	- 'none' para ocultar ou '' para exibir															#
#	OBS				: Nas propriedades do objeto (TEXT, RADIO, CHECKBOX..) coloque:												#
#					  onClick="layer('teste','none')";    	ou 		onClick="layer('teste','')";								#
#					  E dentro de das layers vc coloca o item que sera mostrado/ocultado:										#
#					  <div id="teste" STYLE="display: none;"> conteudo  </DIV>													#
#																																#
#################################################################################################################################
*/	

	function layer(camada,opcao){
		document.getElementById(camada).style.display = opcao;
	}

/*
#################################################################################################################################
#																																#
#	FUNCAO	    	: window.status																								#
#	DESCRICAO		: Mostra uma mensagem na barra de status. Basta incluir este arqivo na página que já aparece.				#
#																																#
#################################################################################################################################
*/	

	window.status=("Desenvolvimento: Segue Tecnologia da Informação - www.segue.com.br");

/*
#################################################################################################################################
#																																#
#	FUNCAO	    	: PopUp(pagina,wd,ht)																						#
#	DESCRICAO		: Função parar abrir janela Pop-up.																			#
#  	PARAMETROS		: pagina 		- endereco completo da pagina a abrir.														#
#					  largura 		- largura da janela																			#
#					  altura 		- altura da janela																			#
#					  barraRolagem 	- Barra de Rolagem na janela: yes para SIM e no para NAO.									#
#	OBS				: No link coloque: 			<a href="javascript:PopUp('pagina.htm', 500, 300)">CLique aqui</a>				#
#																																#
#################################################################################################################################
*/	

	function PopUp(pagina,largura,altura,barraRolagem) {
		window.open(pagina,'009','toolbar=no, location=no, directories=no, status=no, scrollbars='+barraRolagem+', resizable=no, help=no; menubar=no, width='+largura+', height='+altura+', top=5, left=50')
	}

/*
#################################################################################################################################
#																																#
#	FUNCAO	    	: SoNumeros()																								#
#	DESCRICAO		: Aceita somente o preenchimento de numeros em campos input text.											#
#	OBS				: No input insira: 				<input type="text" name="cep" onKeyPress="SoNumeros()">						#
#																																#
#################################################################################################################################
*/	

	function SoNumeros(){
		var carCode = event.keyCode;
		if ((carCode < 48) || (carCode > 57))
		{
			event.cancelBubble = true
			event.returnValue = false;
		}
	}

/*
#################################################################################################################################
#																																#
#	FUNCAO	    	: UpperOrLower(campo,opc)																					#
#	DESCRICAO		: Verifica o valor do campo e transforma a string em Maiucula ou Minuscula e retira os acentos.				#
#  	PARAMETROS		: campo - digita-se apenas o this para que seja pego o valor do campo do form.								#
#					  opc 	- digita-se 'M' se quiser string em Maiuscula ou 'm' para string em minuscula.						#					  numMaximo		- quantidade de caracteres desejado. 														#
#	OBS				: No input insira: 					<input type="text" name="nome" onBlur="UpperOrLower(this,'M')">			#
#																																#
#################################################################################################################################
*/	

	function UpperOrLower(campo,opc){
		var S = campo.value;
		S=S.toLowerCase()// transforma todas as letras em minusculas para fazer as substituicoes de acentuacao
		S=S.replace(/[áàãâä]/g,'a')
		S=S.replace(/[éèêë&]/g,'e')
		S=S.replace(/[íìîï]/g,'i')
		S=S.replace(/[óòõôö]/g,'o')
		S=S.replace(/[úùûü]/g,'u')
		S=S.replace(/[ç]/g,'c')
		for(var i=0;i<S.length;i++){if(' @.-,_/:0123456789abcdefghijklmnopqrstuvwxyz'.indexOf(S.charAt(i))==-1)S=S.replace(S.charAt(i),' ')}
		S=S.replace(/[ ]/g,' ')
		if(opc == 'M') { S=S.toUpperCase() } // se a opc escolhida for 'M', entao transforma todas as letras em maiuscula
		if(opc == 'm') { S=S.toLowerCase() } // se a opc escolhida for 'm', entao transforma todas as letras em minusculas
		campo.value = S;
	}

/*
#################################################################################################################################
#																																#
#	FUNCAO	    	: MascaraDeEntrada(campo, mask)																				#
#	DESCRICAO		: Formata um campo do formulário de acordo com a máscara informada.											#
#  	PARAMETROS		: campo 		- digita-se apenas o this para que seja pego o valor do campo do form.						#
#  				      mask 			- mascara que define o formato que o dado será apresentado, usando o 						#
#									  algarismo "9" para definir números e o símbolo "!" para qualquer caracter.				#
#	OBS				: As máscaras podem ser representadas como os exemplos abaixo:  											#
#					  CEP  -> 99999-999 					CPF  -> 999.999.999-99 												#
#					  CNPJ -> 99.999.999/9999-99 			Data -> 99/99/9999													#
#					  Tel  -> (99) 999-9999 				C/C  -> 999999-!													#
#					  No input insira: 																							#
#			<input type="text" name="tel" maxlength="14" onkeypress="return MascaraDeEntrada(this,'(99) 9999-9999');">			#
#																																#
#################################################################################################################################
*/	

	function MascaraDeEntrada(campo, mask) 
	{
		var i, count, valor, campoLen, maskLen, bolMask, cod, tecla;
		
		if(document.all) { tecla = event.keyCode; }// Internet Explorer
		else if(document.layers) { tecla = event.which; }// Nestcape
		
		
		valor = campo.value;
		// Limpa todos os caracteres de formatação que já estiverem no campo.
		valor = valor.toString().replace( "-", "" );
		valor = valor.toString().replace( "-", "" );
		valor = valor.toString().replace( ":", "" );
		valor = valor.toString().replace( ".", "" );
		valor = valor.toString().replace( ".", "" );
		valor = valor.toString().replace( "/", "" );
		valor = valor.toString().replace( "/", "" );
		valor = valor.toString().replace( "(", "" );
		valor = valor.toString().replace( "(", "" );
		valor = valor.toString().replace( ")", "" );
		valor = valor.toString().replace( ")", "" );
		valor = valor.toString().replace( " ", "" );
		valor = valor.toString().replace( " ", "" );
		campoLen = valor.length;
		maskLen = mask.length;
		
		i = 0;
		count = 0;
		cod = "";
		maskLen = campoLen;
		
		while (i <= maskLen) {
			bolMask = ((mask.charAt(i) == "-") || (mask.charAt(i) == ":") || (mask.charAt(i) == ".") || (mask.charAt(i) == "/"))
			bolMask = bolMask || ((mask.charAt(i) == "(") || (mask.charAt(i) == ")") || (mask.charAt(i) == " "))
			
			if (bolMask) {
				cod += mask.charAt(i);
				maskLen++; }
			else {
				cod += valor.charAt(count);
				count++;
			}
			i++;
		}
		
		campo.value = cod;
		
		if (tecla != 8) {  	// backspace
			if (mask.charAt(i-1) == "9"){	// apenas números...
				return ((tecla > 47) && (tecla < 58));	// números de 0 a 9
			} 
			else { return true; } // qualquer caracter...
		}
		else { return true; }
	}
	
