/**
 * @Autor Samuel Herrmann
 * @Patterns
 *  - Sempre ser? utilizado o caracter "_" em funçoes que n?o devem ser usadas fora do escopo do js
 *  - Em variaveis que o escopo seja apenas da função o nome da variavel será "nomeVariavel_nomeFunção"
 *  - Foi usado o seguinte padrão, @ -> Letras e Numeros, # -> Letras, _ -> Numeros
 *@required validateUtils
 */  
	var blockMask = true;
	/**
	 * Função responsavel por re-organizar as mascaras do tipo fixo <BR>
	 * ex: data,cnpj,cpf
	 * essa função deve ser colocada no onKeyUp
	 *@param <B>inputField</B> campo que você deseja mascarar
	 *@param <B>maskFormat</B> mask que você deseja
	 *@return <B>VOID</B>
	 */
	function maskFixedUp(inputField,maskFormart) {
		if (!blockMask) {
			var maskFixed_newValue = "";
			for(var maskFixed_x = 0; maskFixed_x < inputField.value.length; maskFixed_x++) {
				var maskFixed_typeValidate = false;
				if (maskFormart.charAt(maskFixed_x) == "_")
					maskFixed_typeValidate = isOnlyNumbers(inputField.value.charAt(maskFixed_x));
				else if (maskFormart.charAt(maskFixed_x) == "#")
					maskFixed_typeValidate = isOnlyAlpha(inputField.value.charAt(maskFixed_x));
				else if (maskFormart.charAt(maskFixed_x) == "@")
					maskFixed_typeValidate = isOnlyAlphaNumeric(inputField.value.charAt(maskFixed_x));
				
				if (maskFixed_typeValidate)
					maskFixed_newValue+= inputField.value.charAt(maskFixed_x);
					
				if ("@_#".indexOf(maskFormart.charAt(maskFixed_newValue.length)) == -1)
					maskFixed_newValue+= maskFormart.charAt(maskFixed_newValue.length);
			}
			
			if (maskFixed_newValue != inputField.value)
				inputField.value = maskFixed_newValue;
		}
		blockMask = true;
	}
	
	/**
	 * Função responsavel por validar a entrada do teclado para as mascaras do tipo fixo <BR>
	 * ex: data,cnpj,cpf
	 * essa função deve ser colocada no onKeyPress e com return
	 *@param <B>inputField</B> campo que você deseja mascarar
	 *@param <B>eventKey</B> evento do teclado
	 *@param <B>typeAceppt</B> mask que você deseja
	 *@return <B>Boolean</B> true em caso afirmativo e falso caso contrario
	 */

	function maskFixedPress(inputField,eventKey,typeAceppt) {
		if (eventKey.keyCode)
			eventKeyCode = eventKey.keyCode;
		else
			eventKeyCode = eventKey.which;

		blockMask = false;
		if (typeAceppt.charAt(inputField.value.length) == "_") {
			if (eventKeyCode == 8 || eventKeyCode == 46 || eventKeyCode == 37 || eventKeyCode == 39) {
				blockMask = true;
			}
			return ((eventKeyCode >= 48 && eventKeyCode <= 57) || (eventKeyCode == 8 || eventKeyCode == 46 || eventKeyCode == 37 || eventKeyCode == 39));
		}else if (typeAceppt.charAt(inputField.value.length) == "#") {
			return ((eventKeyCode >= 65 && eventKeyCode <= 90) || (eventKeyCode >= 97 && eventKeyCode <= 122));
		}else if (typeAceppt.charAt(inputField.value.length) == "@"){
			return ((eventKeyCode >= 65 && eventKeyCode <= 90) || (eventKeyCode >= 97 && eventKeyCode <= 122) || (eventKeyCode >= 48 && eventKeyCode <= 57));
		}else{
			if (eventKeyCode == 8 || eventKeyCode == 46 || eventKeyCode == 37 || eventKeyCode == 39) {
				blockMask = true;
				return true;
			}else{
				return (eventKeyCode >= 48 && eventKeyCode <= 57);
			}  
		}
	}
