//	JavaScript Document

//	FUNÇÃO QUE GERA MASCARA NOS CAMPOS
function Mascara (OBJ, EVT, VAL) {
	var EVT		= (EVT) ? EVT : (window.event) ? window.event : "";
	var NTECLA	= (EVT.which) ? EVT.which : EVT.keyCode;
	if((NTECLA < 48 || NTECLA > 57) && (NTECLA != 8 && NTECLA != 9))
		return false;

	var MASK	= new Array();
		MASK[1] = '#####-###';					//	CEP
		MASK[2]	= '(##) ####-####';				//	FONE
		MASK[6]	= '####-####';					//	FONE SEM DDD
		MASK[3]	= '###.###.###-##';				//	CPF
		MASK[4]	= '##/##/####';					//	DATA
		MASK[5]	= '####';						//	DATA SÓ ANO
		MASK[6]	= '###.###.###.###,##';			//	VALOR
	var TIPO	= MASK[VAL]
	
	var FIXOS	= '().-:/ ';

	var VALOR = OBJ.value;
	
	if (EVT) {
		var SIZE = VALOR.length;

		if (SIZE >= TIPO.length && (NTECLA != 8 && NTECLA != 9))
			return false;
		
		if(NTECLA != 8 && NTECLA != 9) {
			var POS = TIPO.substr(SIZE, 1);
			while (FIXOS.indexOf(POS) != -1) {
				VALOR  += POS;
				SIZE	= VALOR.length;
				if (SIZE >= TIPO.length && (NTECLA != 8 && NTECLA != 9))
					return false;
				POS = TIPO.substr(SIZE, 1);
			}
		}
	}
	
	OBJ.value = VALOR;
	return true;
}

function txtCounter(OBJ, SHOW, MAX) {
	if (OBJ.value.length > MAX)  {
		OBJ.value = OBJ.value.substring(0, MAX);
		alert("Número máximo de caracteres alcançado");
	} else  {
		if(SHOW)
			document.getElementById(SHOW).value = MAX - OBJ.value.length;
	}
}


//	JS QUE INSERE UM CAMPO tipo COM NOME nome E VALUE obj DENTRO DE doc	
function insField (NM_FORM, TIPO, NOME, OBJ) {
	var DOC		= document.forms[NM_FORM];

	if(newACT 			= document.createElement("INPUT")) {
		newACT.type		= TIPO;
		newACT.name 	= NOME;
		newACT.value	= OBJ;
		DOC.appendChild( newACT );
		return true;
	} else {
		return false;
	}
};

//	JS QUE ANALISA O FORM E VERIFICA SE OS CAMPOS COM title='Obrigatório' ESTÃO PREENCHIDOS	
function chkFields (NM_FORM) {
	var DOC		= document.forms[NM_FORM];
	var LIST	= DOC.elements;
	var NOME, ID, TITLE, VAL, MSG;
	
	for (i=0; i<LIST.length-1; i++) {
		NOME	= LIST[i].name;
		ID		= LIST[i].id;
		TITLE	= LIST[i].title;
		VAL		= (LIST[i].type=="select-one") ? LIST[i].options[LIST[i].selectedIndex].value : ((LIST[i].type=="checkbox" || LIST[i].type=="radio") ? LIST[i].checked : LIST[i].value);

		if (TITLE=="Obrigatório" && (VAL==""|| VAL==null || VAL==" " || VAL=="0" || VAL==false))
		{
			switch (LIST[i].type) {
				case "select-one"	: MSG = "Selecione uma opção para "+ID; break;
				case "checkbox"		: MSG = "Você precisa ler e aceitar os termos de uso do site"; break;
				default				: MSG = "Preencha o campo "+ID; break;
			}
			
			alert(MSG);
			LIST[i].focus();
			return false;
		} 
	}
};

//	VALIDAÇÃO SIMPLES, APENAS ANALISA OS CAMPOS OBRIGATÓRIOS
function cnfFormSimples (NM_FORM) {
	var DOC		= document.forms[NM_FORM];
	var LIST	= DOC.elements;

	if(chkFields(NM_FORM) == false)
		return false;
	
	DOC.submit();
}
