var ong_id = 0;

$(function(){
    Classes.Default = Classes.App.extend({
        init: function(){
            this.bindAddressChange();
            this.initEventBuscaOng();
            this.initEventLoginAdmin();
//            this.initEventTab();
        },

        initEventBuscaOng: function(){
            var self = this;

            $("#buscaOng").click(function(){
                self.efetuaBusca({squery:$("#squery").val()});
            });

            $("#squery").keypress(function(e){

                if(e.which == 1 || e.which == 0 || e.which == 13){
                    self.efetuaBusca({squery:$("#squery").val()});
                    return false;
                }

            });
        },

        efetuaBusca: function(squery){
            var self = this;
            var query = squery.squery != "" ? $.param(squery).split("=").join("/") : "";
            self.setAddress("/index/busca-ong/" + query);

            $.get("/index/busca-ong/", $.param(squery), function(response){
               $("#content").html(response);
            })
        },

        initEventTab: function(){

          $("#content").delegate("#tabOngLink, #tabHistoryLink", "click", function(){

                $("#tabs").find("li").removeAttr("id");
                $(this).parents("li").eq(0).attr("id", "current");

              switch ($(this).attr("id")) {
                    case "tabOngLink":
                        $("#tabOng").show();
                        $("#tabHistory").hide();

                        break;

                    case "tabHistoryLink":
                        $("#tabOng").hide();
                        $("#tabHistory").show();

                        break;
                }

                return false;

          })
        },

        initEventLoginAdmin: function(){
            var self = this;

            $("#password, #username").keypress(function(e){

                if(e.which == 1 || e.which == 0 || e.which == 13){
                    self.efetuaLogin();
                    return false;
                }
                
            })

            $("#loginAdmin").click(function(){
                self.efetuaLogin();
            })

            $("#btnLogout").click(function(){
                self.efetuaLogout();
            })

            $("#altera_senha_fancy").fancybox({
                onComplete:function(){
                    $("#fancybox-close").addClass("not-address");
                }
            });

            $("#btnEsqueceuSenha").fancybox({
                onComplete:function(){
                    $("#fancybox-close").addClass("not-address");
                }
            });

        },

        efetuaLogin: function(){
            
            $.post("/default/usuario/login", {senha:$("#password").val(), login:$("#username").val()}, function(response){
                if(response.success){
                    window.location.reload();
                } else {
                    $.prompt(response.message, {zIndex:2000});
                }
            }, "json");
        },

        efetuaLogout: function(){
            $.get("/default/usuario/logout", function(){
                window.location.reload();
            });
        }


    });

    new Classes.Default();

    Classes.DefaultIndex = Classes.Default.extend({
        init: function(){
            var self = this;
            
            $("#ongUf").change(function(){
                $.getJSON("/localizacao/cidade", {estado_id: $(this).val()}, function(response){
					
					var objOngCidade = $("#ongCidade");
					objOngCidade.html("");
					objOngCidade.append('<option value="">   Cidade   </option>');
					
					$.each(response, function(){
						objOngCidade.append('<option value="'+this.id+'">'+this.nome+'</option>');
					})
					
				})
            });
			
            $("#stepSearchButton").click(function(){
                self.efetuaBusca();
                return false;
            });
			
			$("#ongName").keypress(function(e){

                if(e.which == 1 || e.which == 0 || e.which == 13){
                    self.efetuaBusca();
                    return false;
                }

            });

            $("#btnNovoUsuario").click(function(){
                self.novoUsuario();
                return false;
            });

        },

        efetuaBusca: function(){
            var squery = $("#stepSearch").serializeArray();
            var squeryClean = [];

            $.each(squery, function(){
                if(this.value != ""){
                    squeryClean.push(this.name + "/" + this.value);
                }
            });

            SWFAddress.setValue("/index/busca-ong/" + squeryClean.join("/"));
            
        },

        novoUsuario: function(){
            var newUser = {};
            newUser.nome = $("#nome_usuario").val();
            newUser.email = $("#email_usuario").val();

            $.post("/default/usuario/novo", newUser, function(response){
            
                $.prompt(response.message,{
                    buttons: {
                        'OK': true
                    },

                    callback:function(v){

                        if(response.success){
                            $("#nome_usuario, #email_usuario").val("");
                        }

                    }
                });

            }, "json");

        }

    });

    Classes.DefaultBusca = Classes.Default.extend({
        init: function(){
            this.initEventBuscaResultado()

        },

        initEventBuscaResultado: function(query){
            var self = this;
            
           $(".ong_resultado").click(function(){

               self.setAddress("/ong/quem-somos/");

               $.get("/default/ong/index/ong_id/"+$(this).find("[name='ong_id']").val(), function(response_ong){
                   $("#content").html(response_ong);
               })
           })
        }

    });

    Classes.DefaultOng = Classes.Default.extend({
        init: function(){
			$.prompt("As informações disponibilizadas neste portal são de inteira e exclusiva responsabilidade das ONGs.<br/>Algumas das informações podem estar zeradas e/ou em branco, conforme a atividade da ONG selecionada.");
            this.initEventFloatMenu();
            var urlValue = SWFAddress.getValue();
            
            if(/o-que-fazemos/.test(urlValue)){
                $("#floatMenuYellow .floatMenuItem").eq(0).click()
            } else if(/como-fazemos/.test(urlValue)){
                $("#floatMenuGreen .floatMenuItem").eq(0).click()
            } else if(/com-quem-fazemos/.test(urlValue)){
                $("#floatMenuRed .floatMenuItem").eq(0).click()
            } else {
                $("#floatMenuBlue .floatMenuItem").eq(0).click()
            }

        },

        initEventFloatMenu: function(){
            var self = this;
            var floatMenuOffsetTop = $("#floatMenu").offset().top;

            $("#floatMenu").delegate("li", "click", function(e){
                var index = $(e.target).prevAll().size();

                $('html,body').animate({
                    scrollTop: $("#item_"+index).offset().top
                },'slow');
            });

            $(window).scroll(function() {
                var newFloatMenuOffsetTop = $(window).scrollTop() - floatMenuOffsetTop;

                if(newFloatMenuOffsetTop >= 0){
                    $("#floatMenu").css("top", newFloatMenuOffsetTop);
                } else {
                    $("#floatMenu").css("top", 0);
                }
            });

            $("#floatMenu").delegate(".floatMenuItem", "click", function(e){
                var floatMenuContent = $("#floatMenuContent");

                var targetMenu = $(e.target).parents("div").eq(0);

                $("#floatMenu").find("ul").hide();
                targetMenu.find("ul").show();

                switch (targetMenu.attr("id")) {
                    case "floatMenuBlue":
                        self.setAddress("/ong/quem-somos/");
                        floatMenuContent.load("/ong/quem-somos/", {float_menu:true}, function(){
                            $(".fancyboxImage").fancybox();
                            
                            $(".btnVisualizaInf").fancybox({
                                onComplete:function(){
                                    $("#fancybox-close").addClass("not-address");
                                }
                            });
                        });
                        break;

                    case "floatMenuGreen":
                        self.setAddress("/ong/como-fazemos/");
                        floatMenuContent.load("/ong/como-fazemos/", {float_menu:true}, self.menuContentCallback);
                        break;

                    case "floatMenuYellow":
                        self.setAddress("/ong/o-que-fazemos/");
                        floatMenuContent.load("/ong/o-que-fazemos/", {float_menu:true}, function(){

							$("div.obj_milenio_img_link").each(function(){
								
								var objMilenio = $(".obj_milenio_"+$(this).attr("class").match(/\d/));

                                if(objMilenio.size() > 0){
									
									$(this).attr("class", $(this).attr("class").replace(/_off/, "_on"));
									
                                } else {
									
									$(this).attr("class", $(this).attr("class").replace(/_on/, "_off"));
									
								}
							})					
	
                            $("div.obj_milenio_img_link").click(function(){

								if($(this).attr("class").match(/\on/)){
									
	                                $(".obj_milenio, .obj_milenio_container").hide();
	                            
	                                var objMilenio = $(".obj_milenio_"+$(this).attr("class").match(/\d/));
	
	                                if(objMilenio.size() > 0){
	                                    objMilenio.parents(".obj_milenio_container").show();
	                                    objMilenio.show();
	                                }
									
								}
                            
                            });

                            self.menuContentCallback();
                        });
                        break;

                    case "floatMenuRed":
                        self.setAddress("/ong/com-quem-fazemos/");
                        floatMenuContent.load("/ong/com-quem-fazemos/", {float_menu:true}, self.menuContentCallback);
                        break;
                }

                return false;
            });
        },

        menuContentCallback: function(){
            $("#floatMenu").find("ul:visible li").eq(0).click();
            $(".fancyboxImage").fancybox();

            $(".btnVisualizaInf").fancybox({
                onComplete:function(){
                    $("#fancybox-close").addClass("not-address");
                }
            });
        }
    });

    Classes.DefaultAlteraSenha = Classes.Default.extend({
        init: function(){

            $("#formDefaultAlteraSenha :button").click(function(){
                $.post("/default/usuario/altera-senha", $("#formDefaultAlteraSenha").serialize(), function(response){
                    $.prompt(response.message);
                    $.fancybox.close();
                }, "json");

            });
        }
    });

    Classes.DefaultNovoLoginUsuario = Classes.Default.extend({
        init: function(){
            var self = this;

            $("#btnSalvarNovoUsuario").click(self.novoUsuario);

            $("#novoFancy").find("#nome_usuario, #email_usuario").keypress(function(e){

                if(e.which == 1 || e.which == 0 || e.which == 13){
                    self.novoUsuario();
                    return false;
                }

            });

            $("#btnEfetuaLoginUsuario").click(self.efetuaLogin);


            $("#loginFancy").find("#login, #senha").keypress(function(e){

                if(e.which == 1 || e.which == 0 || e.which == 13){
                    self.efetuaLogin();
                    return false;
                }

            });
            
        },

        novoUsuario: function(){
            var objForm = $("#novoFancy");
            var newUser = {};
            
            newUser.nome = objForm.find("#nome_usuario").val();
            newUser.email = objForm.find("#email_usuario").val();

            $.post("/default/usuario/novo", newUser, function(response){

                $.prompt(response.message,{
                    buttons: {
                        'OK': true
                    },
                    zIndex:2000,
                    callback:function(v){

                        if(response.success){
                            $.fancybox.close();
                        }

                    }
                });

            }, "json");

        },

        efetuaLogin: function(){

             $.post("/default/usuario/login", $("#loginFancy").serialize(), function(response){
                    if(response.success){
                        
                        window.location.reload();
                        
                    } else {
                        $.prompt(response.message, {zIndex:2000});
                    }
            }, "json");
         }

    });
    Classes.DefaultEsqueceuSenha = Classes.Default.extend({
        init: function(){
            var self = this;

            $("#formDefaultEsqueceuSenha").find("#btnEsqueceuSenha").click(self.esqueceuSenha);
            
        },

        esqueceuSenha: function(){
            var objForm = $("#formDefaultEsqueceuSenha");

            $.post("/default/usuario/esqueceu-senha", objForm.serialize(), function(response){

                $.prompt(response.message,{
                    buttons: {
                        'OK': true
                    },
                    zIndex:2000,
                    callback:function(v){

                        if(response.success){
                            $.fancybox.close();
//                            objForm.find("#nome_usuario, #email_usuario").val("");
                        }

                    }
                });

            }, "json");
        }
    });

    Classes.DefaultComoParticipar = Classes.Default.extend({
        init: function(){
            var self = this;

            $("#frmComoPartic :button").click(self.enviaContato);
            $("#frmComoPartic").find(":input").setMask();

            $("#btnParticipar").fancybox({
                onComplete:function(){
                    $("#fancybox-close").addClass("not-address");
                }
            });


        },

        enviaContato: function(){
            var objForm = $("#frmComoPartic");

            $.post("/default/como-participar/envia-contato", objForm.serialize(), function(response){

                $.prompt(response.message, {zIndex:2000});

                if(response.success){
                    objForm.find(":input").not(":button").val("");
                }

            }, "json");
        }
    });

    Classes.DefaultContato = Classes.Default.extend({
        init: function(){
            var self = this;

            $("#frmComoPartic :button").click(self.enviaContato);
            $("#frmComoPartic").find(":input").setMask();

            $("#frmContatoInfo :button").click(self.enviaContatoInfo);
            $("#frmContatoInfo").find(":input").setMask();

        },

        enviaContato: function(){
            var objForm = $("#frmComoPartic");

            $.post("/default/como-participar/envia-contato", objForm.serialize(), function(response){

                $.prompt(response.message, {zIndex:2000});

                if(response.success){
                    objForm.find(":input").not(":button").val("");
                }

            }, "json");
        },

        enviaContatoInfo: function(){
            var objForm = $("#frmContatoInfo");

            $.post("/default/contato/envia-contato", objForm.serialize(), function(response){

                $.prompt(response.message, {zIndex:2000});

                if(response.success){
                    objForm.find(":input").not(":button").val("");
                }

            }, "json");
        }
    });
})

