var debug;

function menu_slide(obj){

    this.id = obj.id;
    this.li_tamanho = obj.altura;
    this.quantidade_exibida = obj.quantidade_exibida;
    this.btn_fw = obj.btn_fw;
    this.btn_bw = obj.btn_bw;
    this.sentido = obj.sentido;//vertical ou horizontal
    this.qtd_elementos = 0 ;
    this.atual = 1;
    this.velocidade = obj.velocidade;


    this.pega_qtd_elementos = function(){

        this.qtd_elementos = $("#" + this.id + " ul li").size();

    }


    this.init = function(){
        
                      $("#"+this.id+" ."+ this.btn_bw).css("background-color","#ccc")
                      $("#"+this.id+" ."+ this.btn_bw).css("cursor","default")
        
        this.pega_qtd_elementos();
        this.atrela_evento();

        
    }


    this.fw = function(){

        if(this.verifica_extremidade("fim"))
                 return false;
         
        if(this.sentido == "vertical"){
             $("#" + this.id + " ul li:nth-child(" + this.atual + ")").animate({"height":"0px"},this.velocidade);
        }else{
             $("#" + this.id + " ul li:nth-child(" + this.atual + ")").animate({"width":"0px"},this.velocidade);
        }

        this.atual++; // Incrementa, nao precisa verificar novamente se nao estah no fim por que jah eh verificado no começo ...
        
    }


    this.bw = function(){

        if(this.verifica_extremidade("inicio"))
            return false;

        this.atual --; // A animacao tem que ocorrer no elemento anterior ao atual ...

        if(this.sentido == "vertical"){

            $("#" + this.id + " ul li:nth-child(" + this.atual + ")").animate({"height":this.li_tamanho+"px"},this.velocidade);
            
        }else{

            $("#" + this.id + " ul li:nth-child(" + this.atual + ")").animate({"width":this.li_tamanho+"px"},this.velocidade);

        }

    }


    this.verifica_extremidade = function(sentido){

        if(sentido == "fim"){
            
                   if(this.atual+this.quantidade_exibida >= this.qtd_elementos){
                       return true;
                   }else{                       
                       return false;
                   }
                   
        }else{

                if(this.atual < 2){ // como o primeiro eh 1 se ele for menor do que 2 entao está no inicio ...
                    return true;
                }else{
                    return false;
                }
                
        }        

     }


    this.atrela_evento = function(){

        $("#"+this.id+" ."+ this.btn_fw).bind('click', {menu_slide:this}, function(e){

                  e.data.menu_slide.fw();
                  
                  $("#"+e.data.menu_slide.id+" ."+ e.data.menu_slide.btn_bw).css("cursor","pointer")
                  $("#"+e.data.menu_slide.id+" ."+ e.data.menu_slide.btn_bw).css("background-color","#FF841C") 
                  
                 if( e.data.menu_slide.verifica_extremidade('fim') ){
                      
                      $("#"+e.data.menu_slide.id+" ."+ e.data.menu_slide.btn_fw).css("background-color","#ccc")
                      $("#"+e.data.menu_slide.id+" ."+ e.data.menu_slide.btn_fw).css("cursor","default")
                      
                  }else{
                      
                      $("#"+e.data.menu_slide.id+" ."+ e.data.menu_slide.btn_fw).css("cursor","pointer")
                      $("#"+e.data.menu_slide.id+" ."+ e.data.menu_slide.btn_fw).css("background-color","#FF841C")
                      
                  }
                                       
        });

        $("#"+ this.id +" ."+this.btn_bw).bind('click', {menu_slide:this}, function(e){

                 e.data.menu_slide.bw();
                 
                  $("#"+e.data.menu_slide.id+" ."+ e.data.menu_slide.btn_fw).css("cursor","pointer")
                  $("#"+e.data.menu_slide.id+" ."+ e.data.menu_slide.btn_fw).css("background-color","#FF841C") 
                 
                 if( e.data.menu_slide.verifica_extremidade() ){
                      
                      $("#"+e.data.menu_slide.id+" ."+ e.data.menu_slide.btn_bw).css("background-color","#ccc")
                      $("#"+e.data.menu_slide.id+" ."+ e.data.menu_slide.btn_bw).css("cursor","default")
                      
                  }else{
                      
                      $("#"+e.data.menu_slide.id+" ."+ e.data.menu_slide.btn_fw).css("cursor","pointer")
                      $("#"+e.data.menu_slide.id+" ."+ e.data.menu_slide.btn_fw).css("background-color","#FF841C")
                      
                  }
           
       });

    }

}

// Quando puder tira isso daqui ^_^ , no arquivo menu_slide.js deve ficar só a classe :D 

var menu1 = new menu_slide({id:"menu1", altura:179, quantidade_exibida:2, btn_fw:"baixo",  btn_bw:"cima", sentido:"vertical", velocidade:300});


$(document).ready(function(){
     menu1.init();

});
