/*                      
.                       
.       RPC - Rede Paranaense de Comunicacao
.       Modulo: Biblioteca de funcoes
.       Criado em: 21/05/2007
.       Autor: cassiob@rpc.com.br
.       Revisado por: ...
.       Ultima alteracao em:
                                
*/

	/* PARA IMAGEM DE AGUARDE ... */
	var tamImgWidth 	= '176';
	var tamImgHeight 	= '71';
	var nomeImgAjax		= 'ajbusy.gif';
	var divImgAjax		= 'imagem'; 
		
	function $(){
		if(arguments.length == 1) return document.getElementById(arguments[0]);
		var elems = [];
		for(var i=0; i<arguments.length; i++)
			elems[i] = document.getElementById(arguments[i]);
		return elems;
	}

    function MaskDormitorio(objeto, evt) { return Mascara(objeto, evt, '#####');}
    function MaskGaragem(objeto, evt) { return Mascara(objeto, evt, '#####');}
    function MaskArea(objeto, evt) { return Mascara(objeto, evt, '####');}
    function MaskAno(objeto, evt) { return Mascara(objeto, evt, '#####');}
	function MaskDataNasc(objeto, evt) { return Mascara(objeto, evt, '##/##/####');}
	function MaskDataSorteio(objeto, evt) { return Mascara(objeto, evt, '##/##/####');}
	function MaskDataEncerramento(objeto, evt) { return Mascara(objeto, evt, '##/##/####');}
	function MaskCep(objeto, evt) { return Mascara(objeto, evt, '########');}
	function MaskCpf(objeto, evt) { return Mascara(objeto, evt, '###########');}
	function MaskQuantidade(objeto, evt) { return Mascara(objeto, evt, '####');}

    XaddEvent = function(o, e, f, s){
        var r = o[r = "_" + (e = "on" + e)] = o[r] || (o[e] ? [[o[e], o]] : []), a, c, d;
        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(d = 1, f = r.length; f; r[--f] && (a = r[f][0], o = r[f][1], a.call ? c = a.call(o, e) : (o._ = a, c = o._(e), o._ = null), d &= c !== false));
            return e = null, !!d;
        }
    };
    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;
    };

    function formatCurrency(o, n, dig, dec){
        o.c = !isNaN(n) ? Math.abs(n) : 2;
        o.dec = typeof dec != "string" ? "," : dec, o.dig = typeof dig != "string" ? "." : dig;
        XaddEvent(o, "keypress", function(e){
            if(e.key > 47 && e.key < 58){
                var o, s, l = (s = ((o = this).value.replace(/^0+/g, "") + String.fromCharCode(e.key)).replace(/\D/g, "")).length, n;
                if(o.maxLength + 1 && l >= o.maxLength) return false;
                l <= (n = o.c) && (s = new Array(n - l + 2).join("0") + s);
                for(var i = (l = (s = s.split("")).length) - n; (i -= 3) > 0; s[i - 1] += o.dig);
                n && n < l && (s[l - ++n] += o.dec);
                o.value = s.join("");
            }
            e.key > 30 && e.preventDefault();
        });
    }

	function VerificaEmail(email){
		var emailad = email;
        if(emailad != ""){
        	var exclude=/[^@\-\.\w]|^[_@\.\-]|[\._\-]{2}|[@\.]{2}|(@)[^@]*\1/;
            var check=/@[\w\-]+\./;
            var checkend=/\.[a-zA-Z]{2,3}$/;
            if(((emailad.search(exclude) != -1)||(emailad.search(check)) == -1)||(emailad.search(checkend) == -1)){
				document.getElementById('mensagem').style.display = "";
            	document.getElementById('mensagem').innerHTML = "Email inválido!";
				document.getElementById('email').value = "";
            	return false;
            }else{
            	send();
            	return true;
            }
		}else{
        	return true;
    	}
	}

    function Mascara(objeto, evt, mask) {
        try {
        var LetrasU = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
        var LetrasL = 'abcdefghijklmnopqrstuvwxyz';
        var Letras  = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
        var Numeros = '0123456789';
        var Fixos  = '().-:/ ';
        var Charset = " !\"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_/`abcdefghijklmnopqrstuvwxyz{|}~";
       
        evt = (evt) ? evt : (window.event) ? window.event : "";
        var value = objeto.value;
        if (evt) {
            var ntecla = (evt.which ) ? evt.which : evt.keyCode;
            tecla = Charset.substr(ntecla - 32, 1);
            if (ntecla < 32) return true;
            if (ntecla == 46) return true;
            if (ntecla == 37) return true;
            if (ntecla == 39) return true;
           
            var tamanho = value.length ;
            if (tamanho >= mask.length) return false;
           
            var pos = mask.substr(tamanho,1);
            while (Fixos.indexOf(pos) != -1) {
                 value += pos;
                 tamanho = value.length;
                 if (tamanho >= mask.length) return false;
                 pos = mask.substr(tamanho,1);
            }
   
            switch (pos) {
              case '#' : if (Numeros.indexOf(tecla) == -1) return false; break;
              case 'A' : if (LetrasU.indexOf(tecla) == -1) return false; break;
              case 'a' : if (LetrasL.indexOf(tecla) == -1) return false; break;
              case 'Z' : if (Letras.indexOf(tecla) == -1) return false; break;
              case '*' : objeto.value = value; return true; break;
              default : return false; break;
            }
        }
        objeto.value = value;
        }catch(e) { }
        return true;
    }

	getDateMsg = function(x){
		var mensagem = document.getElementById('mensagem');
		if(x == 1)  mensagem.innerHTML = "Formato de data inválido";
    	if(x == 2)  mensagem.innerHTML = "Dia inválido";
    	if(x == 3)  mensagem.innerHTML = "Mês inválido";
    	if(x == 4)  mensagem.innerHTML = "Nos meses de abril, junho, setembro e novembro não existe o dia 31";
    	if(x == 5)  mensagem.innerHTML = "Fevereiro só tem 28 dias";
    	if(x == 6)  mensagem.innerHTML = "Em anos bissextos, fevereiro tem 29 dias";
		if(x==1 || x==2 || x==3 || x==4 || x==5 || x==6){
			mensagem.style.display = "";
		}
	};

	isDate = function(y, m, d){
		if(typeof y == "string" && m instanceof RegExp && d){
			if(!m.test(y)) return 1;
			y = RegExp["$" + d.y], m = RegExp["$" + d.m], d = RegExp["$" + d.d];
		}
		d = Math.abs(d) || 0, m = Math.abs(m) || 0, y = Math.abs(y) || 0;
		return arguments.length != 3 ? 1 : d < 1 || d > 31 ? 2 : m < 1 || m > 12 ? 3 : /4|6|9|11/.test(m) && d == 31 ? 4
		: m == 2 && (d > ((y = !(y % 4) && (y % 1e2) || !(y % 4e2)) ? 29 : 28)) ? 5 + !!y : 0;
	};

	function validaCPF(valor){
		var strcpf;
		var mensagem = document.getElementById('mensagem');
		valor = valor.value;
/*		strcpf = valor.substring(0,3);
		strcpf += valor.substring(4,7);
		strcpf += valor.substring(8,11);
		strcpf += valor.substring(12,14);
		s = strcpf;

		if (isNaN(s)) {
			mensagem.style.display = "";
			mensagem.innerHTML = "CPF Inválido!";
			return false;
		}
	
		var i;
		var c = s.substr(0,9);
		var dv = s.substr(9,2);
		var d1 = 0;
		for (i = 0; i < 9; i++) {
			d1 += c.charAt(i)*(10-i);
		}
		if (d1 == 0){
			return false;
		}
	    d1 = 11 - (d1 % 11);
	    if (d1 > 9) d1 = 0;         
		if (dv.charAt(0) != d1) {
			mensagem.style.display = "";
			mensagem.innerHTML = "CPF Inválido!";
			return false;         
		}
		d1 *= 2;
		for (i = 0; i < 9; i++) {
			d1 += c.charAt(i)*(11-i);
		}
		d1 = 11 - (d1 % 11);
		if (d1 > 9) d1 = 0;
		if (dv.charAt(1) != d1) {
			mensagem.style.display = "";
			mensagem.innerHTML = "CPF Inválido!";
			return false;
		}
		mensagem.innerHTML = "";*/
	    return true;
	}

	function ContaObs(campo, contacampo, total){
	    if(campo.value.length > total){
	        alert ("O campo de observação deve ter no máximo "+total+" caracteres.");
    	    campo.value = campo.value.substring(0, total);
	    }
    	contacampo.innerHTML = campo.value.length;
	}

	/* FUNCAO DE ENVIO PARA VERIFICAR EMAIL */
        function send() {
            if($("nome").value == ""){
                RPC.Transport.fetchJsonObj({
                url: 'retornaCampos.php',
                method: 'POST',
                content: RPC.Utils.createStrContent(document.forms['formulario']),
                onLoad: retorno,
                busyContainer: divImgAjax,
                busyImage: nomeImgAjax,
                busyImageWidth: '0',
                busyImageHeight: '0'
                });
            }else{
                RPC.Transport.fetchJsonObj({
                url: 'retornaEmail.php',
                method: 'POST',
                content: RPC.Utils.createStrContent(document.forms['formulario']),
                onLoad: retornoEmail,
                busyContainer: divImgAjax,
                busyImage: nomeImgAjax,
                busyImageWidth: tamImgWidth,
                busyImageHeight: tamImgHeight
                });
            }
        }
        /* FUNCAO PARA VERIFICAR O ENDEREÇO */
        function VerificaEndereco(){
            RPC.Transport.fetchJsonObj({
            url: 'retornaEndereco.php',
            method: 'POST',
            content: RPC.Utils.createStrContent(document.forms['formulario']),
            onLoad: retornoEndereco,
            busyContainer: 'imagem2',
            busyImage: nomeImgAjax,
            busyImageWidth: tamImgWidth,
            busyImageHeight: tamImgHeight
            });
        }

		/* FUNCAO DE RETORNO DO ENDEREÇO */
        function retornoEndereco(objEndereco){
            try{
                if(objEndereco != ""){
                    /* CAMPOS TEXT */
                    $('Cep').value      = objEndereco["Lograd_CEP"]; //88040400
                    $('Bairro').value   = objEndereco["Bairro_Nome"];
                    $('Cidade').value   = objEndereco["Locali_Nome"];
                    $('Estado').value   = objEndereco["Estado_Nome"];
                    $('Pais').value     = objEndereco["Estado_Pais"];
                    if($('Endereco').value == ""){
                        $('Endereco').value = objEndereco["Lograd_Nome"];
                    }

                    /* CAMPOS HIDDEN */
                    $('HBairro').value  = objEndereco["Lograd_Bairro_ID"];
                    $('HCidade').value  = objEndereco["Locali_ID"];
                    $('HEstado').value  = objEndereco["Lograd_Estado_ID"];
                    $('HPais').value    = objEndereco["Estado_Pais"];

                }else{
                    $('Bairro').value       = "Outros";
                    $('Estado').value       = "Outros";
                    $('Cidade').value       = "Outros";
                    $('Pais').value         = "Outros";
                }
                /* DESABILITA PARA EDITAR */
                $('Bairro').readOnly    = true;
                $('Cidade').readOnly    = true;
                $('Estado').readOnly    = true;
                $('Pais').readOnly      = true;
            }catch(e){}
        }

        /* FUNCAO PARA VERIFICAR SENHA */
        function VerificaSenha(){
            RPC.Transport.fetchJsonObj({
            url: 'retornaSenha.php',
            method: 'POST',
            content: RPC.Utils.createStrContent(document.forms['formulario']),
            onLoad: retornaSenha,
            busyContainer: divImgAjax,
            busyImage: nomeImgAjax,
            busyImageWidth: tamImgWidth,
            busyImageHeight: tamImgHeight
            });
        }

		/* FUNCAO DE RETORNO DE SENHA */
        function retornaSenha(objSenha){
            try{
                if(objSenha == "" || objSenha == null){
					$('mensagem').style.display = "";
                    $('mensagem').innerHTML = "Esta senha não confere, por favor tente novamente!";
                    $('senha').value = '';
                    $('email').focus();
                    $('nSenha').style.display = "";
                    return false;
				}else if(objSenha["Usuari_Status"] == 1){
					$('mensagem').style.display = "";
					$('mensagem').innerHTML = "Seu cadastro ainda não esta ativo!";
					window.location.href = "ativa_cadastro.phtml";
                }else{
                    $('maisInfor').style.display = "";
                    //$('nSenha').style.display = "none";
                    RPC.Transport.fetchJsonObj({
                    url: 'retornaTodosCampos.php',
                    method: 'POST',
                    content: RPC.Utils.createStrContent(document.forms['formulario']),
                    onLoad: retornoTodosCampos,
                    busyContainer: divImgAjax,
                    busyImage: nomeImgAjax,
                    busyImageWidth: tamImgWidth,
                    busyImageHeight: tamImgHeight
                    });
                }
            }catch(e){ }
        }

		/* FUNCAO PARA RETORNAR OS DEMAIS CAMPOS CASO A SENHA ESTEJA CORRETA */
        function retornoTodosCampos(objTCampos){
            try{
                $('email').value    = objTCampos["Usuari_Email"];
                $('nome').value     = objTCampos["Usuari_Nome"];
                $('id').value       = objTCampos["Usuari_ID"];
                $('Dt_Nasc').value  = objTCampos["dataNascimento"];
                $('Telefone').value = objTCampos["UsuInf_Telefone"];
                $('Celular').value  = objTCampos["UsuInf_Celular"];
				$('Cpf').value 		= objTCampos["UsuInf_CPF"];

				if(objTCampos["UsuInf_Escolaridade"]){
					switch(objTCampos["UsuInf_Escolaridade"]){
						case "1": $('Escolaridade').options[1].selected = true; break;
						case "2": $('Escolaridade').options[2].selected = true; break;
						case "3": $('Escolaridade').options[3].selected = true; break;
						case "4": $('Escolaridade').options[4].selected = true; break;
						case "5": $('Escolaridade').options[5].selected = true; break;
						case "6": $('Escolaridade').options[6].selected = true; break;
						case "7": $('Escolaridade').options[7].selected = true; break;
						case "8": $('Escolaridade').options[8].selected = true; break;
					}
				}

                if(objTCampos["UsuInf_Sexo"] == "M"){
					$('Sexo').options[2].selected = true;
                }else if(objTCampos["UsuInf_Sexo"] == "F"){
					$('Sexo').options[1].selected = true;
                }

				/* Pergunta 1 */
				if(objTCampos["QueVoc_P1"]){
                    switch(objTCampos["QueVoc_P1"]){
                        case "1": $('Q1_a').checked = true; break;
						case "2": $('Q1_b').checked = true; break;
						case "3": $('Q1_c').checked = true; break;
                    }
                }			

				/* Pergunta 2 */
                if(objTCampos["QueVoc_P2"]){
                    switch(objTCampos["QueVoc_P2"]){
                        case "1": $('Q2_a').checked = true; break;
                        case "2": $('Q2_b').checked = true; break;
                        case "3": $('Q2_c').checked = true; break;
                    }
                }

				/* Pergunta 3 */
                if(objTCampos["QueVoc_P3_A"] == "1"){ $('Q3_1').checked = true; }else{ $('Q3_1').checked = false; }
				if(objTCampos["QueVoc_P3_B"] == "2"){ $('Q3_2').checked = true; }else{ $('Q3_2').checked = false; }
				if(objTCampos["QueVoc_P3_C"] == "3"){ $('Q3_3').checked = true; }else{ $('Q3_3').checked = false; }
				if(objTCampos["QueVoc_P3_D"] == "4"){ $('Q3_4').checked = true; }else{ $('Q3_4').checked = false; }
				if(objTCampos["QueVoc_P3_E"] == "5"){ $('Q3_5').checked = true; }else{ $('Q3_5').checked = false; }

                /* importante: deixar estes campos sempre no final da listagem de retorno */
                $('Endereco').value = objTCampos["UsuInf_Endereco"];
                $('Bairro').value   = objTCampos["UsuInf_CEP_BairroID"];
                $('Cidade').value   = objTCampos["UsuInf_CEP_LocaliID"];
                $('Pais').value     = objTCampos["UsuInf_CEP_Pais"];
                $('Estado').value   = objTCampos["UsuInf_CEP_EstadoID"];
                $('Cep').value      = objTCampos["UsuInf_CEP"];

                VerificaEndereco();
            }catch(e){}
        }
		
		/* FUNCAO RETORNA EMAIL */
        function retornoEmail(objEmail){
            try{
                if(objEmail != ""){
					$('mensagem').style.display = "";
                    $('mensagem').innerHTML = "Este e-mail já consta em nosso banco de dados!";
                    $('email').value = "";
                    $('email').focus();
                    return false;
                }
            }catch(e){}
        }

        /* FUNCAO DE RETORNO DOS OPT-INS E EMAIL */
        function retorno(objJson){
            try{
                if(objJson != ""){
                    $('email').value    = objJson["Usuari_Email"];
                    $('id').value       = objJson["Usuari_ID"];
                    if(objJson["Usuari_OptEmail"] == 1){
                        $('opt_in_email').checked = true;
                    }else{
                        $('opt_in_email').checked = false;
                    }
                    if(objJson["Usuari_OptPesqQuantitativa"] == 1){
                        $('opt_in_pesquisa').checked = true;
                    }else{
                        $('opt_in_pesquisa').checked = false;
                    }
                    if(objJson["Usuari_OptPromocao"] == 1){
                        $('opt_in_promocao').checked = true;
                    }else{
                        $('opt_in_promocao').checked = false;
                    }
                }else{
					if($('email').value != ""){
						window.location.href="pIncluir.php?email="+$('email').value;
					}
				}
            }catch(e) {}
        }

		function gerarNovaSenha(){
            RPC.Transport.fetchJsonObj({
            url: 'enviaNovaSenha.php',
            method: 'POST',
            content: RPC.Utils.createStrContent(document.forms['formulario']),
            onLoad: retornaNovaSenha,
            busyContainer: divImgAjax,
            busyImage: nomeImgAjax,
            busyImageWidth: tamImgWidth,
            busyImageHeight: tamImgHeight
            });
        }

        function retornaNovaSenha(objNovaSenha){
			$('mensagem').style.display = "";
            if(objNovaSenha["novaSenha"] == '1'){
                $('mensagem').innerHTML = "Sua senha foi alterada com sucesso! Verifique seu e-mail";
            }else{
                $('mensagem').innerHTML = "Ops! sua senha não pode ser alterada!";
            }
        }

        /* FUNCAO PARA VERIFICAR DATA */
        function isDateNasc(data){
            if(data != ""){
                getDateMsg(isDate(data, /^([0-9]{1,2})[\/]([0-9]{1,2})[\/]([0-9]{1,4})$/, {d: 1, m: 2, y: 3}));
            }
        }

		function Posta(){
			try{
            if($('email').value == ""){
                $('mensagem').style.display = '';
                $('mensagem').innerHTML = "O campo E-mail deve ser preenchido!";
                $('email').focus();
                return false;
            }
            if($('senha').value == ""){
                $('mensagem').style.display = '';
                $('mensagem').innerHTML = "O campo Senha deve ser preenchido!";
                $('senha').focus();
                return false;
            }else{
				if($('confSenha')){
	                if($('confSenha').value != $('senha').value){
    	                $('mensagem').style.display = '';
        	            $('mensagem').innerHTML = "As senhas não conferem, por favor verifique!";
            	        $('senha').focus();
                	    return false;
	                }
				}
            }
			if($('novaSenha') && $('confNovaSenha') ){
				if($('novaSenha').value != ""){
					if($('confNovaSenha').value != $('novaSenha').value){
						$('mensagem').style.display = '';
						$('mensagem').innerHTML = "As senhas não conferem, por favor verifique!";
						$('novaSenha').focus();
						return false;
					}
				}
			}
            if($('nome').value == ""){
                $('mensagem').style.display = '';
                $('mensagem').innerHTML = "O campo nome deve ser preenchido!";
                $('nome').focus();
                return false;
            }else if($('Dt_Nasc').value == ""){
                $('mensagem').style.display = '';
                $('mensagem').innerHTML = "O campo Data de Nascimento deve ser preenchido!";
                $('Dt_Nasc').focus();
                return false;
            }else if($('Sexo').value == ""){
                $('mensagem').style.display = '';
                $('mensagem').innerHTML = "O campo Sexo deve ser preenchido!";
                $('Sexo').focus();
                return false;
            }else if($('Telefone').value == ""){
                $('mensagem').style.display = '';
                $('mensagem').innerHTML = "O campo Telefone deve ser preenchido!";
                $('Telefone').focus();
                return false;
            }else if($('Celular').value == ""){
                $('mensagem').style.display = '';
                $('mensagem').innerHTML = "O campo Celular deve ser preenchido!";
                $('Celular').focus();
                return false;
            }else if($('Cpf').value == ""){
                $('mensagem').style.display = '';
                $('mensagem').innerHTML = "O campo Cpf deve ser preenchido!";
				$('Cpf').focus();
                return false;
            }else if($('Escolaridade').value == ""){
                $('mensagem').style.display = '';
                $('mensagem').innerHTML = "O campo Escolaridade deve ser preenchido!";
                $('Escolaridade').focus();
                return false;
            }else if($('Cep').value == ""){
                $('mensagem').style.display = '';
                $('mensagem').innerHTML = "O campo Cep deve ser preenchido!";
                $('Cep').focus();
                return false;
            }else if($('Endereco').value == ""){
                $('mensagem').style.display = '';
                $('mensagem').innerHTML = "O campo Endereço deve ser preenchido!";
                $('Endereco').focus();
                return false;
            }
            $('formulario').submit();
			}catch(e){ }
        } 

