$(document).ready(function() {
    montarAnuncioHome();
});

var qtdArq          = 0;
var objAnuncio      = new Array();
var objDestaque     = new Array();
var objCasadinha    = new Array();
var diferenca       = 0;
var qtdAtual        = 0;
var stopTimer       = false;

function resetTimer(){
    if(stopTimer){
        stopTimer=false;
        carrossel(".btSetaAnteriorAnuncio",".btSetaProximoAnuncio",".anuncioLinha",295,0,".anuncio",1,1,800);
    }
    else{
        stopTimer=true;
    }
}

function montarAnuncioHome(){
    var a = 0;
    var b = 0;
    var c = 0;

    $(".anuncio").each(function(){
        objAnuncio[c] = $(this);
        c=c+1;
    });     

    qtdArq = objAnuncio.length;
    diferenca   = qtdArq-1;
    carrossel(".btSetaAnteriorAnuncio",".btSetaProximoAnuncio",".anuncioLinha",295,0,".anuncio",1,1,800);
}


function tempoLoop(recipiente, tamanho, excesso, objeto, qtdMin, qtdPass, time){
    setTimeout(
        function()
        {
            if(!stopTimer){
                qtdAtual = qtdAtual + 1;
                if(qtdAtual>diferenca){
                    qtdAtual=0;
                }
                var posicao = -(tamanho * qtdAtual);
                $(recipiente).animate({
                    marginTop: posicao + "px"
                }, time, function(){
                    tempoLoop(recipiente, tamanho, excesso, objeto, qtdMin, qtdPass, time);
                });
            }
        }, 1500);
}

function carrossel(setaE, setaD, recipiente, tamanho, excesso, objeto, qtdMin, qtdPass, time){

    var qtdArqMin=qtdMin;
    //var qtdAtual= 0;
    var qtdPasse=qtdPass;
    var tempoAnimacao=time;

    /*$(objeto).each(function(){
		qtdArq=qtdArq+1;
	});*/
        
    tempoLoop(recipiente, tamanho, excesso, objeto, qtdMin, qtdPass, time);

    //var diferenca=qtdArq-qtdArqMin;
    if(qtdArq > qtdArqMin){
        $(setaE).click(
            function(){
                stopTimer = true;
                qtdAtual=qtdAtual-qtdPasse;
                if(qtdAtual<0){
                    qtdAtual=diferenca;
                }
                var posicao = - (tamanho * qtdAtual);
                $(recipiente).animate({
                    marginTop: posicao + "px"
                }, tempoAnimacao );
            });
        $(setaD).click(
            function(){
                stopTimer = true;
                qtdAtual=qtdAtual+qtdPasse;
                if(qtdAtual>diferenca){
                    qtdAtual=0;
                    var posicao = - (tamanho * qtdAtual) + excesso;
                }else{
                    var posicao = - (tamanho * qtdAtual);
                }
                $(recipiente).animate({
                    marginTop: posicao +"px"
                }, tempoAnimacao );

            });
    }
}


var Message = {
    failureMsg:    ["N&atilde;o foi poss&iacute;vel enviar, tente novamente ou entre em contato atrav&eacute;s dos dados no <b>rodap&eacute;</b> do site.", ".erro"],
    successMsg:    ["Email enviado com sucesso.", ".msg_ok"],
    reset:
        function (){
            //Resetando os campos de mensagem
            $(".erro").css("visibility", "visible");
            $(".msg_ok").css("visibility", "visible");
            $(".erro").hide();
            $(".msg_ok").hide();
        },
    processing:
        function (){
            this.reset();
            $(".processando").css("visibility", "visible");
        },
    display:
        //mostra msg, tipo pode ser igual a '.erro' ou '.msg_ok'
        function (msg, tipo){
            this.reset();
            $(".processando").css("visibility", "hidden");
            $(tipo).html(msg);
            $(tipo).slideDown("slow");
        }
}

var Form = {
    //verifica se está vazio
    isEmpty:
        function(valor){
            valor = valor.replace(/^\s+|\s+$/g,"");
            if(valor == "" || valor == 0)
                return true;
            return false;
        },
    //Validando e submetendo o formulario via ajax post
    send:
        function (formulario){

            //Mensagem de processando
            Message.processing();

            var dataString = "?acao=sendMail",
                elementos  = formulario.elements,
                actionUrl  = formulario.action,
                msg = "";

            for(var i = 0; i < elementos.length; i++)
            {
                var tipo = elementos[i].type;
                switch(true){
                    case ((tipo == "text") || (tipo == "textarea") || (tipo == "password")):
                        //Se o campo for obrigatorio incrementa msg
                        if(elementos[i].getAttribute("obrigatorio") == "true" && this.isEmpty(elementos[i].value))
                            msg += "<p>O campo <b>" + elementos[i].title + "</b> &eacute; obrigat&oacute;rio.</p>";
                        if(elementos[i].getAttribute("email") == "true" && !isEmail(elementos[i].value))
                            msg += "<p>O campo <b>" + elementos[i].title + "</b> n&atilde;o &eacute; um email v&aacute;lido.</p>";
                        //Alimenta o dataString, que será enviado no POST Ajax
                        dataString += "&" + elementos[i].name + "=" + (this.isEmpty(elementos[i].value) ? 'null' : elementos[i].value);
                        break;
                    case (tipo == "checkbox"):
                        break;
                    case (tipo == "select"):
                        break;

                }
            }

            //Mostra msg de erro se campos obrigatorios n foram preenchidos
            if(msg != ""){
                Message.display(msg, ".erro");
                return false;
            }

            //Submetendo
            $.ajax({
                type: "POST",
                url: actionUrl,
                data: dataString,
                success:
                    function(resultado){
                        Message.display(Message[resultado + "Msg"][0], Message[resultado + "Msg"][1]);
                    },
                error:
                    function(teste){
                        Message.display(Message["failureMsg"][0], Message["failureMsg"][1]);
                    }
            });

        }
};

function isEmail(email) {
    var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;

    if(!reg.test(email))
        return false;

    return true;
}
