// JavaScript Document
var Formulario = function(){
    this.setTexto = function(st, obj){
        if (obj.value == '') {
            obj.value = st;
        }
    };
    
    this.limpaTexto = function(st, obj){
        if (obj.value == st) {
            obj.value = '';
            obj.focus();
        }
    };
    
    this.sendNews = function(){
        var paramns = {
            setDados: 'W',
            new_nome: encodeURI(document.form_news.news_nome.value),
            new_email: encodeURI(document.form_news.news_email.value)
        };
        new Ajax.Updater('resultNews', 'sistema/ajax/AJAXNews.ajax.php', {
            onLoading: function(request){
                Element.show('spinnerNews');
            },
            onComplete: function(request){
                Element.hide('spinnerNews');
            },
            parameters: paramns,
            evalScripts: true,
            asynchronous: true
        });
    };
    
    this.sendLogin = function(){
        var paramns = {
            setDados: 'LOGIN',
            login_user: encodeURI(document.form_login.login_user.value),
            login_senha: encodeURI(document.form_login.login_senha.value)
        };
        new Ajax.Updater('resultLogin', 'ajax/AJAXLogin.ajax.php', {
            onLoading: function(request){
                Element.show('spinnerLoginAssoc');
            },
            onComplete: function(request){
                Element.hide('spinnerLoginAssoc');
            },
            onSuccess: function(request){
                if (request.responseText == 'USUARIO_VALIDO') {
                    document.location.href = "index.php";
                }
            },
            parameters: paramns,
            evalScripts: true,
            asynchronous: true
        });
    };
    
    this.logout = function(){
        var paramns = {
            setDados: 'LOGOUT'
        };
        new Ajax.Updater('resultLogin', 'ajax/AJAXLogin.ajax.php', {
            onLoading: function(request){
                Element.show('spinnerLoginAssoc');
            },
            onComplete: function(request){
                Element.hide('spinnerLoginAssoc');
            },
            onSuccess: function(request){
                if (request.responseText == 'LOGOUT') {
                    document.location.href = "index.php";
                }
            },
            parameters: paramns,
            evalScripts: true,
            asynchronous: true
        });
    };
    
    this.sendEmail = function(){
        var paramns = {
            setDados: 'EMAIL',
            email_nome: encodeURI(document.form_faleconosco.contato_nome.value),
            email_cidade: encodeURI(document.form_faleconosco.contato_cidade.value),
            email_estado: encodeURI(document.form_faleconosco.contato_estado.value),
            email_email: encodeURI(document.form_faleconosco.contato_email.value),
            email_fone: encodeURI(document.form_faleconosco.contato_telefone.value),
            email_assunto: encodeURI(document.form_faleconosco.contato_assunto.value),
            email_conteudo: document.form_faleconosco.contato_conteudo.value
        };
        new Ajax.Updater('resultEmail', 'ajax/AJAXEmail.ajax.php', {
            onLoading: function(request){
                Element.show('spinnerEmail');
            },
            onComplete: function(request){
                Element.hide('spinnerEmail');
            },
            parameters: paramns,
            evalScripts: true,
            asynchronous: true
        });
    };
    
    this.altDadosAssoc = function(){
        var paramns = {
            setDados: 'A_WEB',
            ass_usuario: encodeURI(document.form_altdadosassoc.dadosassoc_user.value),
            ass_senha: encodeURI(document.form_altdadosassoc.dadosassoc_senha.value),
            ass_senhar: encodeURI(document.form_altdadosassoc.dadosassoc_senhaR.value)
        };
        new Ajax.Updater('resultAltDadosAssoc', 'sistema/ajax/AJAXAssociados.ajax.php', {
            onLoading: function(request){
                Element.show('spinnerAltDadosAssoc');
            },
            onComplete: function(request){
                Element.hide('spinnerAltDadosAssoc');
            },
            parameters: paramns,
            evalScripts: true,
            asynchronous: true
        });
    };
	
	this.sendInscricao = function(){
        var paramns = {
            setDados: 'INSCRICAO',
            insc_nome: encodeURI(document.form_inscricao.insc_nome.value),
            insc_dtnasc: encodeURI(document.form_inscricao.insc_dtnascimento.value),
			insc_sexo: encodeURI(document.form_inscricao.inscSexo.value),
            insc_categoria: encodeURI(document.form_inscricao.inscCategoria.value),
            insc_cpf: encodeURI(document.form_inscricao.insc_cpf.value),
            insc_rg: encodeURI(document.form_inscricao.insc_rg.value)
        };
        new Ajax.Updater('resultEmail', 'ajax/AJAXInscricoes.ajax.php', {
            onLoading: function(request){
                Element.show('spinnerEmail');
            },
            onComplete: function(request){
                Element.hide('spinnerEmail');
            },
            parameters: paramns,
            evalScripts: true,
            asynchronous: true
        });
    };
	
	this.sendMatricula = function(){
        var paramns = {
            setDados: 'MATRICULA',
            mat_nome: encodeURI(document.form_matricula.matricula_nome.value),
            mat_dtnasc: encodeURI(document.form_matricula.matricula_dtnascimento.value),
			mat_sexo: encodeURI(document.form_matricula.matricula_sexo.value),
            mat_categoria: encodeURI(document.form_matricula.matricula_categoria.value),
            mat_peso: encodeURI(document.form_matricula.matricula_peso.value),
			mat_altura: encodeURI(document.form_matricula.matricula_altura.value),
			mat_endereco: encodeURI(document.form_matricula.matricula_Endereco.value),
			mat_pai: encodeURI(document.form_matricula.matricula_pai.value),
			mat_mae: encodeURI(document.form_matricula.matricula_mae.value),
			mat_instituicao: encodeURI(document.form_matricula.matricula_instituicao.value),
			mat_serie: encodeURI(document.form_matricula.matricula_serie.value),
			mat_periodo: encodeURI(document.form_matricula.matricula_periodo.value),
			mat_saude: encodeURI(document.form_matricula.matricula_saude.value),
			mat_polo: encodeURI(document.form_matricula.matricula_polo.value),
			mat_local: encodeURI(document.form_matricula.matricula_local.value)			
        };
        new Ajax.Updater('resultEmail', 'ajax/AJAXMatricula.ajax.php', {
            onLoading: function(request){
                Element.show('spinnerEmail');
            },
            onComplete: function(request){
                Element.hide('spinnerEmail');
            },
            parameters: paramns,
            evalScripts: true,
            asynchronous: true
        });
    };
};

var Util = function(){
    this.atualizaEnquete = function(idE, idR){
        var paramns = {
            enq_p: idE,
            enq_r: idR
        };
        new Ajax.Updater('resultEnquete', 'ajax/AJAXEnquete.ajax.php', {
            onLoading: function(request){
                Element.show('spinnerEnquete');
            },
            onComplete: function(request){
                Element.hide('spinnerEnquete');
            },
            parameters: paramns,
            evalScripts: true,
            asynchronous: true
        });
    };
	
	this.formataTelefone = function(obj){
        numero = _extraiNumero(obj.value)
        if (numero.length >= 10) {
            formataCampo(obj, "(XX)XXXX-XXXX")
        }
        else 
            if (numero.length == 9) {
                formataCampo(obj, "(XX)XXX-XXXX")
            }
            else 
                if (numero.length == 8) {
                    formataCampo(obj, "XXXX-XXXX")
                }
                else 
                    if (numero.length > 4) {
                        formataCampo(obj, "XXX-XXXX")
                    }
                    else {
                        if (obj.value != numero) {
                            obj.value = numero
                        }
                    }
    }
    
    this.formataData = function(obj){
        numero = _extraiNumero(obj.value)
        if (numero.length >= 8) {
            formataCampo(obj, "XX/XX/XXXX")
        }
        else 
            if (numero.length == 6) {
                formataCampo(obj, "XX/XX/XX")
            }
            else {
                if (obj.value != numero) {
                    obj.value = numero
                }
            }
    }
    
    this.formataCEP = function(obj){
        numero = _extraiNumero(obj.value)
        if (numero.length >= 6) {
            formataCampo(obj, "XXXXX-XXX")
        }
        else {
            if (obj.value != numero) {
                obj.value = numero
            }
        }
    }
    
    this.formataCPF = function(obj){
        numero = _extraiNumero(obj.value)
        if (numero.length >= 10) {
            formataCampo(obj, "XXX.XXX.XXX-XX")
        }
        else 
            if (numero.length >= 7) {
                formataCampo(obj, "XXX.XXX.XXX")
            }
            else 
                if (numero.length >= 4) {
                    formataCampo(obj, "XXX.XXX")
                }
                else {
                    if (obj.value != numero) {
                        obj.value = numero
                    }
                }
    }
	
	this.formataPeso = function(obj){
        numero = _extraiNumero(obj.value)
		if (numero.length >= 5) {
			formataCampo(obj, "XXX.XXX")
		}
		else
		if (numero.length >= 4) {
			formataCampo(obj, "XX.XXX")
		}
		else
			if (numero.length >= 3) {
				formataCampo(obj, "XX.XX")
			}
			else
				if (numero.length >= 2) {
					formataCampo(obj, "X.XX")
				}
				else {
					if (obj.value != numero) {
						obj.value = numero
					}
				}
    }
	
	this.formataAltura = function(obj){
        numero = _extraiNumero(obj.value)
		if (numero.length >= 3) {
				formataCampo(obj, "XX.XX")
			}
			else
				if (numero.length >= 2) {
					formataCampo(obj, "X.XX")
				}
				else {
					if (obj.value != numero) {
						obj.value = numero
					}
				}
    }
    
    function _somenteNumero(numero){
        // numeros aceitos 0,1,2,3,4,5,6,7,8,9,37,38,39,40,46
        ER = /(^[0-2]$|^3[789]{0,1}$|^4[06]{0,1}$|^[5-9]$)/
        return ER.test(numero)
    }
    
    // retorna somente n?meros [0..9]
    function _extraiNumero(dado){
        var aux = ''
        for (n = 0; n < dado.length; n++) {
            if (_somenteNumero(dado.substr(n, 1))) {
                aux += dado.substr(n, 1)
            }
        }
        return aux
    }
    
    function formataCampo(obj, mascara){
        var valor = ''
        var tamValor = 0
        var tamMascara = 0
        var resultado = ''
        var aux1 = ''
        var aux2 = ''
        var posMas = 1
        var posVal = 1
        var tecla = obj.value.substr(obj.value.length - 1, 1)
        var masclen = mascara.length
        
        if (obj.value.length > mascara.length) {
            valor = _extraiNumero(obj.value.substring(0, obj.value.length - (obj.value.length - mascara.length)))
        }
        else {
            valor = _extraiNumero(obj.value)
        }
        
        //muda formata??o somente quando receber uma tecla v?lida 
        if (!_teclaValida(tecla) && (obj.value != '')) {
            tamValor = valor.length
            tamMascara = mascara.length
            while ((posVal <= tamValor) && (posMas <= tamMascara)) {
                // percorre caracter por caracter no valor dado (do fim p/ come?o)
                aux1 = valor.substring(tamValor - posVal, (tamValor - posVal) + 1)
                // percorre caracter por caracter na m?scara (do fim p/ come?o)
                aux2 = mascara.substring(tamMascara - posMas, (tamMascara - posMas) + 1)
                if (aux2 == 'X') {
                    resultado = aux1 + resultado
                    posVal = posVal + 1
                }
                else 
                    if ((aux2 == '-') || (aux2 == '/') || (aux2 == '.') || (aux2 == '(') || (aux2 == ')') || (aux2 == ',')) // s?mbolos presentes nas m?scaras
                    {
                        resultado = aux2 + resultado
                    }
                posMas = posMas + 1
            }
            //  colocando "posMas" e "posVal" em suas posi??es atuais
            posVal = posVal - 1
            posMas = posMas - 1
            // caso especial para n?mero de telefone (m?scara come?a com s?mbolo)
            if ((posMas == tamMascara - 1) && (mascara.substring(0, 1) == '(')) {
                resultado = '(' + resultado
            }
            
            if (obj.value != resultado) {
                if ((resultado.length >= obj.maxLength) && (masclen >= resultado.length)) {
                    if (masclen == resultado.length) {
                        obj.maxLength = masclen
                    }
                    else {
                        obj.maxLength = resultado.length + 1
                    }
                }
                obj.value = resultado
            }
            
        }
    }
    
    function _teclaValida(tecla){
        // 8  backspace			9  Tab				33 PageUp				34 PageDown	
        // 35 End				36 Home 			37 seta para esquerda	38 seta para cima 
        // 39 seta para direita 40 seta para baixo	46 Delete
        ER = /(^[8-9]$|^3[3-9]{1}$|^4[06]{1}$)/
        return ER.test(numero)
    }
};

var form_ = new Formulario();
var util_ = new Util();


/**
 * @author FATOBENE
 */
function Carregar(){
    var req;
    if (window.XMLHttpRequest) {
        req = new XMLHttpRequest();
    }
    else 
        if (window.ActiveXObject) {
            try {
                req = new ActiveXObject("Msxml2.XMLHTTP");
            } 
            catch (e) {
                req = new ActiveXObject("Microsoft.XMLHTTP");
            }
        }
    var url = "seq.php?val=a1ffbfdb848ea89a28beaeccfaf0d4c5";
    req.open("GET", url, true);
    
    req.onreadystatechange = function(){
        if (req.readyState != 4) 
            return;
        var meuDive = document.getElementById('page');
        meuDive.innerHTML = req.responseText;
    }
    req.send(null);
}

function validaRadio(){
    var i
    for (i = 0; i < document.vota.radio.length; i++) {
        if (document.vota.radio[i].checked) {
            return true;
        }
        else {
            alert('Favor Seleiconar um Candidato(a)');
            return false;
        }
        
    }
	return true;
    
}










