/***************************************************************************************************************
@Tipo Arquivo: 		JS - Java Script
@Dt. Atualizacao: 	2009-04-16
@Versão:			1.0
@Autor: 			Eduardo Chiaradia (Dunix)
@MSN | E-Mail:		eduardo_chiaradia@hotmail.com
@OBS:				O Conteudo desta pagina tem como objetivo Trabalhar com Strings - Textos


@Funcoes neste Arquivo
	
	001		$Format_Mask					Formata um CAMPO(FIELD) com o tipo definido na Mascara #: For Numbers  @for Chars
	002		$Replace_SpecialChars			Esta funçao troca caracteres especiais pelos seus respectivos codigos.
	003		$GetForm_To_String					A funçao transforma os elementos do tipo TEXT do form, em uma variavel string(Ideal para transformar formularios inteiros em metodo GET.)
	004 	$Retira_Acentos(palavra)		Função que retira todos os acentos de uma palavra

***************************************************************************************************************/

function $Format_Mask(evento, objeto,mascara){
	/*
		Utilize:
			#  - Para Numeros (For Numbers)
			@  - Para Letras  (For All Chars.)
		
		Essa função cria mascara para qualquer campo de qualquer formato
	*/

	var keypress=(window.event)?event.keyCode:evento.which;
	var Tipo="";
	var tecla = String.fromCharCode(keypress);


	campo = eval (objeto);

	//aqui verifico se apertou delete ou a seta do teclado
	if (keypress==8 || keypress==0){
		return true;	
	}


	//aqui verifico se a quantidade de caracteres do campo é igual da mascara
	//se sim nao deixo digitar mais
	if (campo.value.length>=mascara.length){
		return false;	
	}
	
	//Aqui seleciono o tipo da Char atual da Mascara
	Tipo = mascara.substr(campo.value.length,1);
	
	//Se for # é sinal que é numero portanto o usuario soh pode digitar numero
	if (Tipo=="#"){
		//aqui verifico se não apertou numero
		if (keypress < 48 || keypress > 57){
			return false;
		}
	}
	
	//verifico se o tipo da mascara é # ou @
	//Pois se for @ é sinal que aceita qualquer caracter, e se for diferente de # ou @ é sinal que é a mascara.
	if (Tipo != "#" && Tipo != "@"){
		
		//agora verifico se o que o usuario digitou é igual ao caracter da mascara
		//se for nao coloco ele no campo, caso seja diferente coloco.
		if (tecla==Tipo){
			return true;
		} else {
			campo.value = campo.value + Tipo;	
		}
	} 
	
}

function $Replace_SpecialChars(variavel)
{
			
	//retira os espacos e substitui pelo caracter correto
	for (x=0;x<=variavel.length;x++)
	{
		variavel=variavel.replace(' ','%20');
		variavel=variavel.replace('\n','<br>');
	}

	return  variavel;

}

function $ReplaceAll(variavel,letra,trocaPor)
{
			
	//retira os espacos e substitui pelo caracter correto
	for (x=0;x<=variavel.length;x++)
	{
		variavel=variavel.replace(letra,trocaPor);
	}

	return  variavel;

}

function $GetForm_To_String(formulario){
	
	//AQUI MONTO UMA VARIAVEL QUE IRÀ CONTER TODOS OS DADOS DO FORMULARIO O NOME DESSA VARIAVEL È FORM (SOMENTE OS CAMPOS DE TEXTOS)
			var form="";
			var contaForm = formulario.elements.length; //document.form1.elements.length;  
			var campo =formulario;  //document.form1;  
			var i=0;  					
			for (i=0; i<contaForm; i++) { 
	
					 if (campo.elements[i].type=="text" || campo.elements[i].type=="select-one") {  				 
						form=form + campo.elements[i].name + "=" + campo.elements[i].value + "&";										
					 }   				 
				 } 
	form=form.substr(0,form.length-1);
	return form;
	//FINALIZO A PARTE QUE LEU O FORMULARIO		
}


