var Avaliacao = function(){
    var isValid;
    var typeSend;
    return {
        Init: function(){
            isValid = false;
        },
        
        ChangeSend: function(type){
            if (type == "digital") {
                $('divFotos').show();
                $('inputSendFoto').show();
                $('inpuSendConvencional').hide();
                $('h3SendDigital').hide();
                Avaliacao.typeSend = "DIGITAL";
                $('typeSend').value = "DIGITAL";
            }
            else {
                Avaliacao.typeSend = "CONVENCIONAL";
                $('typeSend').value = "CONVENCIONAL";
            }
        },
        
        CheckEmail: function(email, url){
            var options = {
                email: email
            };
            new Ajax.Request(url, {
                asynchronous: true,
                evalScripts: true,
                
                parameters: options,
                onComplete: function(req){
                    var json = req.responseText.evalJSON();
                    if (json.isExiste) {
                        $('ballon_email').show();
                        $('email').addClassName('erro');
                        Avaliacao.IsValid = false;
                    }
                    else {
                        $('ballon_email').hide();
                        $('email').removeClassName('erro');
                        Avaliacao.IsValid = true;
                    }
                }
            });
        },
        
        CheckIdade: function(idade){
            if (idade > 15 && idade < 130) {
                $('ballon_idade').hide();
                $('idade').removeClassName('erro');
                Avaliacao.isValid = true;
            }
            else {
                $('ballon_idade').show();
                $('idade').addClassName('erro');
                Avaliacao.isValid = false;
            }
        },
        
        CheckSenha: function(senha1, senha2){
            if (senha1 != senha2) {
                $('ballon_senha').show();
                $('senha').addClassName('erro');
                $('senha2').addClassName('erro');
                Avaliacao.isValid = false;
            }
            else {
                $('ballon_senha').hide();
                $('senha').removeClassName('erro');
                $('senha2').removeClassName('erro');
                Avaliacao.isValid = true;
            }
        },
        
        Jump: function(enviado, alvo, tamanho){
            if ($F(enviado).length == tamanho) {
                $(alvo).select();
            }
        },
        
        Paste: function(enviado, alvo){
            $(alvo).value = enviado;
        },
        
        AlteraSenha: function(form, url){
            var fields = ['senhaAtual', 'senha', 'senha2'];
            var isValid = false;
            
            fields.each(function(item){
                isValid = $(item).present();
                if (!isValid) {
                    $(item).addClassName('erro');
                    
                }
                else {
                    $(item).removeClassName('erro');
                }
            });
            
            if (isValid) {
                new Ajax.Request(url, {
                    asynchronous: true,
                    evalScripts: true,
                    method: 'get',
                    parameters: Form.serialize(form),
                    onComplete: function(req){
                        var json = req.responseText.evalJSON();
                        if (json.Sucess) {
                            alert('Senha alterada com sucesso');
                            $('senhaAtual').value = "";
                            $('senha').value = "";
                            $('senha2').value = "";
                            
                        }
                        else 
                            if (json.Sucess == false && json.SenhaAtualIncorreta == false && json.SenhaNaoCoincide == false) {
                                alert('Não foi possivel efetuar a alteraãão da senha');
                            }
                            else {
                                if (json.SenhaAtualIncorreta) {
                                    alert('Senha atual incorreta');
                                    $('senhaAtual').addClassName('erro');
                                }
                                else {
                                    if (json.SenhaNaoCoincide) {
                                        alert('Senhas informadas estão diferentes');
                                        $('senha').addClassName('erro');
                                        $('senha2').addClassName('erro');
                                    }
                                }
                            }
                    }
                });
            }
            
        },
        
        AlteraEmail: function(form, url){
        
            var fields = ['emailAtual', 'email', 'email2'];
            var isValid = false;
            
            fields.each(function(item){
                isValid = $(item).present();
                if (!isValid) {
                    $(item).addClassName('erro');
                    
                }
                else {
                    $(item).removeClassName('erro');
                }
            });
            
            if (isValid) {
                new Ajax.Request(url, {
                    asynchronous: true,
                    evalScripts: true,
                    method: 'get',
                    parameters: Form.serialize(form),
                    onComplete: function(req){
                        var json = req.responseText.evalJSON();
                        if (json.Sucess) {
                            alert('Email alterado com sucesso');
                            $('emailAtual').value = "";
                            $('email').value = "";
                            $('email2').value = "";
                            
                        }
                        else 
                            if (json.Sucess == false && json.EmailAtualIncorreto == false && json.EmailNaoCoincide == false) {
                                alert('Não foi possivel efetuar a alteração do email');
                            }
                            else {
                                if (json.EmailAtualIncorreto) {
                                    alert('Email atual incorreto');
                                    $('emailAtual').addClassName('erro');
                                }
                                else {
                                    if (json.EmailNaoCoincide) {
                                        alert('Emails informados estão diferentes');
                                        $('email').addClassName('erro');
                                        $('email2').addClassName('erro');
                                    }
                                }
                            }
                    }
                });
            }
            
        },
        
        Autentica: function(form, url, go){
            var fields = ['email', 'senha'];
            var isValid = false;
            
            fields.each(function(item){
                isValid = $(item).present();
                if (!isValid) {
                    $(item).addClassName('erro');
                    
                }
                else {
                    $(item).removeClassName('erro');
                }
            });
            
            if (isValid) {
                new Ajax.Request(url, {
                    parameters: Form.serialize(form),
                    onSuccess: function(transport) {
                        var record = transport.responseText.evalJSON();
                        if (!record.Auth) {
                            alert("Usuário ou senha não conferem");
                        }
                        else {
                            location.href = go;
                        }
                    }

                });
            }
        },
        ValidaCampoFoto:function(){
            var fieldsFoto = ['foto1', 'foto2','foto3','foto4','foto5'];
            var itensFoto = 5;
            
			fieldsFoto.each(function(item){
				formValid = $(item).present();
				if (!formValid) {
					$(item).addClassName('erro');
					
				}
				else {
					$(item).removeClassName('erro');
					itensFoto--;
				}
			});     
			
			if (itensFoto > 0) {   
			    Avaliacao.isValid = false;    
            }
			else {
				Avaliacao.isValid = true;
            }							    
        },
        Send: function(form, url, urlPost){
        
			var fields = ['avaliacaoNome', 'idade', 'avaliacaoEmail', 'endereco', 'numero', 'cep1', 'cep2', 'bairro', 'cidade', 'estado', 'comoconheceu'];
			var itens = 11;
			var formValid = false;
			
			fields.each(function(item){
				formValid = $(item).present();
				if (!formValid) {
					$(item).addClassName('erro');
					
				}
				else {
					$(item).removeClassName('erro');
					itens--;
				}
			});
			
			if (itens > 0) {
				Avaliacao.isValid = false;
			}
			else {
				Avaliacao.isValid = true;
				Avaliacao.CheckIdade($('idade').value);
				if (Avaliacao.isValid) {
					if (Avaliacao.typeSend == "DIGITAL") {
					    Avaliacao.ValidaCampoFoto();
					    if(Avaliacao.isValid){
						    $('formPasso2').action = urlPost;
						    $('formPasso2').submit();
						    $('inputSendFoto').disable();
						}
					}
					else {
						$('formPasso2').action = urlPost;
						$('formPasso2').submit();
					}					
				}
			}
		},
        
        UpdateCliente: function(form, urlPost){
            var fields = ['nome', 'idade', 'endereco', 'numero', 'cep1', 'cep2', 'bairro', 'cidade', 'estado', 'comoconheceu'];
            var itens = 10;
            var formValid = false;
            
            fields.each(function(item){
                formValid = $(item).present();
                if (!formValid) {
                    $(item).addClassName('erro');
                    
                }
                else {
                    $(item).removeClassName('erro');
                    itens--;
                }
            });
            
            if (formValid) {
                $('formPasso2').action = urlPost;
                $('formPasso2').submit();
            }
        }
        
    };
}
();
Avaliacao.Init;

