/**
* Biblioteca com funções para o módulo de contato
* 
* 
**/

postarBilheteria = function(form) {

		if (form.pei_var_nome.value == "") {
			alert("Preencha o campo nome!");	
			form.pei_var_nome.focus();
			return false;
		} else if (form.pei_var_cpf.value == "") {
			alert("Preencha o campo CPF!");
			form.pei_var_cpf.focus();
			return false;
		} else if (!validaCpf(form.pei_var_cpf.value)) {
			alert("O CPF digitado é inválido!");
			form.pei_var_cpf.focus();
			return false;
		} else if (form.pei_var_rg.value == "") {
			alert("Preencha o campo RG!");
			form.pei_var_rg.focus();
			return false;
		} else if (form.pei_var_email.value == "") {
			alert("Preencha o campo email!");
			form.pei_var_email.focus();
			return false;
		} else if (!checaEmail(form.pei_var_email.value)) {
			alert("Campo email inválido");	
			form.pei_var_email.focus();
			return false;
		} else {
			return true;
		}
}

postarCredenciamento = function(form) {

		if (form.pcr_var_nome.value == "") {
			alert("Preencha o campo nome!");	
			form.pcr_var_nome.focus();
			return false;
		} else if (form.pcr_var_cpf.value == "") {
			alert("Preencha o campo CPF!");
			form.pcr_var_cpf.focus();
			return false;
		} else if (!validaCpf(form.pcr_var_cpf.value)) {
			alert("O CPF digitado é inválido!");
			form.pcr_var_cpf.focus();
			return false;
		} else if (form.pcr_var_email.value == "") {
			alert("Preencha o campo email!");
			form.pcr_var_email.focus();
			return false;
		} else if (!checaEmail(form.pcr_var_email.value)) {
			alert("Campo email inválido");	
			form.pcr_var_email.focus();
			return false;
		} else {
			return true;
		}
}

function validaCpf(cpf) {
   erro = new String;
   if (cpf.length < 11) erro += "Sao necessarios 11 digitos para verificacao do CPF! \n\n";
                var nonNumbers = /\D/;
               if (nonNumbers.test(cpf)) erro += "A verificacao de CPF suporta apenas numeros! \n\n";
                 if (cpf == "00000000000" || cpf == "11111111111" || cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" || cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" || cpf == "88888888888" || cpf == "99999999999"){
                         erro += "Numero de CPF invalido!"
             }
             var a = [];
             var b = new Number;
             var c = 11;
             for (i=0; i<11; i++){
                     a[i] = cpf.charAt(i);
                     if (i < 9) b += (a[i] * --c);
             }
          if ((x = b % 11) < 2) { a[9] = 0 } else { a[9] = 11-x }
            b = 0;
             c = 11;
              for (y=0; y<10; y++) b += (a[y] * c--);
             if ((x = b % 11) < 2) { a[10] = 0; } else { a[10] = 11-x; }
              if ((cpf.charAt(9) != a[9]) || (cpf.charAt(10) != a[10])){
                      erro +="Digito verificador com problema!";
            }
            if (erro.length > 0){
                   return false;
               }
            return true;
 }


// FUNÇÃO PARA VALIDAR E-MAIL
function checaEmail(Email) {
  var expreMail = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
  if (expreMail.test(Email)) {
    return true;
  }
  else {
	return false;
  }
}

// REQUIRES http://www.jsfromhell.com/geral/event-listener
//========================================================

MaskInput = function(f, m){ //v1.0
	function mask(e){
		var patterns = {"1": /[A-Z]/i, "2": /[0-9]/, "4": /[?-?]/i, "8": /./ },
			rules = { "a": 3, "A": 7, "9": 2, "C":5, "c": 1, "*": 8};
		function accept(c, rule){
			for(var i = 1, r = rules[rule] || 0; i <= r; i<<=1)
				if(r & i && patterns[i].test(c))
					break;
				return i <= r || c == rule;
		}
		var k, mC, r, c = String.fromCharCode(k = e.key), l = f.value.length;
		(!k || k == 8 ? 1 : (r = /^(.)\^(.*)$/.exec(m)) && (r[0] = r[2].indexOf(c) + 1) + 1 ?
			r[1] == "O" ? r[0] : r[1] == "E" ? !r[0] : accept(c, r[1]) || r[0]
			: (l = (f.value += m.substr(l, (r = /[A|9|C|\*]/i.exec(m.substr(l))) ?
			r.index : l)).length) < m.length && accept(c, m.charAt(l))) || e.preventDefault();
	}
	for(var i in !/^(.)\^(.*)$/.test(m) && (f.maxLength = m.length), {keypress: 0, keyup: 1})
		addEvent(f, i, mask);
};

<!-- // Funcoes de tratamento de campos de formulario -->
/*
**************************************
* Event Listener Function v1.3       *
* Autor: Carlos R. L. Rodrigues      *
**************************************
*/

addEvent = function(o, e, f, s){
	var r = o[r = "_" + (e = "on" + e)] = o[r] || (o[e] ? [[o[e], o]] : []), a;
	r[r.length] = [f, s || o], o[e] = function(e){
		try{
			(e = e || event).preventDefault || (e.preventDefault = function(){e.returnValue = false;});
			e.stopPropagation || (e.stopPropagation = function(){e.cancelBubble = true;});
			e.target || (e.target = e.srcElement || null);
			e.key = (e.which + 1 || e.keyCode + 1) - 1 || 0;
		}catch(f){}
		for(f = r.length; f; r[--f] && (a = r[f][0], o = r[f][1], a.call ? a.call(o, e) : (o._ = a, o._(e), o._ = null)));
		e = null;
	}
};

removeEvent = function(o, e, f, s){
	for(var i = (e = o["_on" + e] || []).length; i;)
		if(e[--i] && e[i][0] == f && (s || o) == e[i][1])
			return delete e[i];
	return false;
};

window.onload = function() {
	try {
		f = document.forms[0];
	
		if (f.pcr_var_nome != null) {
			f.pcr_var_nome.focus();
			MaskInput(f.pcr_var_cpf,"99999999999");
			MaskInput(f.pcr_var_telefoneredacao,"999999999999");
			MaskInput(f.pcr_var_telefone,"999999999999");

		}
		
		if (f.pei_var_nome != null) {
			f.pei_var_nome.focus();
			MaskInput(f.pei_var_cpf,"99999999999");
			MaskInput(f.pei_var_rg,"99999999999");
			MaskInput(f.pei_var_telefonecontato,"999999999999");
			MaskInput(f.pei_var_celular,"999999999999");

		}
		
		

	} catch (e) {}
	
}
