$(document).ready(function() {

    $(".link_esqueci_senha").click(function(){
        $(".box_esqueci_senha").show();
    });

    $(".widget_login form#form_esqueci_senha").validate({
        messages: {
            email: {
                required: "Preencha seu email de cadastro.",
                email: "Preencha um email válido"
            }
        }
    });

    $(".widget_login .form_login input[type='submit']").live('click', function(){
        $(this).parents(".form_login").validate({
            messages: {
                username: {required: "O campo login é obrigatório."},
                password: {required: "O campo senha é obrigatório."}
            },
            errorPlacement: function(error, element){
                error.insertAfter(element);
            },
            submitHandler: function(form){
                    $.post("/ajax/verifica-login/",
                        { 
                          username: form.username.value,
                          password: form.password.value 
                        },
                        function(valido){
                            if(valido != '0'){
                                if(form.reload.value == 1){
                                    $.post("/ajax/do-login/",
                                        {
                                          username: form.username.value,
                                          password: form.password.value
                                        },
                                        function(resposta){
                                            if(resposta != '0'){
                                                $(".widget_login").remove();
                                                if(form.template.value != ''){
                                                    $.ajax({
                                                        url: '/ajax/get_template/',
                                                        type: 'POST',
                                                        data: 'path='+form.path.value,
                                                        dataType: 'html',
                                                        success: function(response){
                                                            $("#"+form.target.value).html(response);
                                                        }
                                                    });
                                                }
                                                else {
                                                    $("#"+form.path.value+", "+form.path.value+", ."+form.path.value).show();
                                                }
                                            }
                                        }
                                    );
                                }
                                else {
                                    form.submit();
                                }
                            }
                            else {
                                $('.widget_login .login_errado').html("Login e/ou senha incorreto(s)");
                                $('.widget_login .login_errado').show();
                            }

                            return false;
                        }
                    );
            }
        });

    });

    $(".request_login").live('click', function(e){
        e.preventDefault();
        
        var hrefLinkRequest = $(this).attr("href");

        $.ajax({
            url: '/ajax/verifica_esta_logado/',
            type: 'GET',
            success: function(logado){
                if(logado){
                    $(".widget_login").hide();
                    
                    var path_value = $(".widget_login input[name='path']").val();
                    
                    if($(".widget_login input[name='template']").val() != ''){
                        $.ajax({
                            url: '/ajax/get_template/',
                            type: 'POST',
                            data: 'path='+path_value,
                            dataType: 'html',
                            success: function(response){
                                $("#"+$(".widget_login input[name='target']").val()).html(response);
                            }
                        });
                    }
                    else {
                        if(hrefLinkRequest != "" && hrefLinkRequest !="javascript:void(0)")
                            window.location = hrefLinkRequest;
                        else if(path_value != "")
                            $("#"+path_value+", "+path_value+", ."+path_value).show();
                    }
                }   
                else {
                    $(".widget_login .form_login").each(function(index){

                        if(hrefLinkRequest != "" && hrefLinkRequest !="javascript:void(0)"){
                            $(".widget_login .link_cadastrar").attr("href", "/cadastro/"+"?prox="+hrefLinkRequest);
                            $(".widget_login .form_login").attr("action", hrefLinkRequest);
                        }
                        else
                            $(".widget_login .link_cadastrar").attr("href", "/cadastro/");

                        $(this).validate({
                            messages: {
                                username: {required: "O campo login é obrigatório."},
                                password: {required: "O campo senha é obrigatório."}
                            },
                            errorPlacement: function(error, element){
                                error.insertAfter(element);
                            },
                            submitHandler: function(form){
                                    $.post("/ajax/verifica-login/",
                                        { 
                                          username: form.username.value,
                                          password: form.password.value 
                                        },
                                        function(valido){
                                            if(valido != '0'){
                                                $.post("/ajax/do-login/",
                                                    {
                                                      username: form.username.value,
                                                      password: form.password.value
                                                    },
                                                    function(resposta){
                                                        if(form.reload.value == 1){

                                                            if(resposta != '0'){
                                                                $(".widget_login").remove();
                                                                if(form.template.value != ''){
                                                                    $.ajax({
                                                                        url: '/ajax/get_template/',
                                                                        type: 'POST',
                                                                        data: 'path='+form.path.value,
                                                                        dataType: 'html',
                                                                        success: function(response){
                                                                            $("#"+form.target.value).html(response);
                                                                        }
                                                                    });
                                                                }
                                                                else {
                                                                    $("#"+form.path.value+", "+form.path.value+", ."+form.path.value).show();
                                                                }
                                                            }
                                                        }
                                                        else {
                                                            form.submit();
                                                        }
                                                    }
                                                );
                                            }
                                            else {
                                                $('.widget_login .login_errado').html("Login e/ou senha incorreto(s)");
                                                $('.widget_login .login_errado').show();
                                            }

                                            return false;
                                        }
                                    );
                            }
                        });


                    });
                    

                }
            }
        });

    });
});

