var slider = {}
var l = []
var w = 0

$.fn.apexSlider = function(opt){
    
    slider.init = function(el){
        slider.posLeft = []
        slider.headers = []
        slider.globalParent = $(el)
        slider.hd = $(el).find('div.slider-hd').find('div.name')
        slider.sliderElement = $(el).find('div.movable')
        slider.sliderElementParent = $(el).find('div.slider-info')
        slider.items = $(el).find('div.item')
        slider.arrLeft = $(el).find('a.arrLt')
        slider.arrRight = $(el).find('a.arrRt')
        slider.pager = $(el).find('div.holder')
        slider.current = 0
        slider.itemLength = $(slider.items).length
        slider.speed = 'fast'
        slider.interval = 5000
        
        $(slider.items).each(function(i){
            w += $(this).width()
            
            $(slider.sliderElement).css('width', w+'px')

            slider.posLeft[i] = $(this).position().left
            slider.headers[i] = $(this).find('h5').text()
            
        })
        
        $(slider.hd).text($(slider.headers)[slider.current])
        
        $(slider.arrLeft).bind('click', function(e){
            e.preventDefault()
            
            slider.moveLt()
        })
        
        $(slider.arrRight).bind('click', function(e){
            e.preventDefault()
            
            slider.moveRt()
        })
        
        $(slider.pager).find('a').bind('click', function(e){
            e.preventDefault()
            var ind = $(this).index()
            
            slider.jumpTo(ind, this)
        })
        
        $(slider.globalParent).bind('mouseenter', function(){
            
            if(inter){
                clearInterval(inter)
            }
  
        })
        $(slider.globalParent).bind('mouseleave', function(){
            
                inter = setInterval(slider.moveRt, slider.interval)
                        
        })
        
    }
    
    slider.moveRt = function(){
        if(slider.items[(slider.current+1)]){

            $(slider.sliderElement).stop(true, true).animate({left  :  -slider.posLeft[(slider.current+1)] + 'px'}, 'fast')
            slider.current++
            $(slider.pager).find('a').removeClass('cur').eq(slider.current).addClass('cur')
            
            
        }
        else {
            slider.current = 0
            $(slider.sliderElement).stop(true, true).animate({left  :  0 + 'px'}, slider.speed)
            $(slider.pager).find('a').removeClass('cur').eq(slider.current).addClass('cur')
        }
        var txt = $(slider.headers)[slider.current]

        $(slider.hd).text(txt)
    }
    slider.moveLt = function(){
        if(slider.items[(slider.current-1)]){

            $(slider.sliderElement).stop(true, true).animate({left  :  -slider.posLeft[(slider.current-1)] + 'px'}, slider.speed)
            slider.current--
            $(slider.pager).find('a').removeClass('cur').eq(slider.current).addClass('cur')
            
        }
        else {
            $(slider.sliderElement).stop(true, true).animate({left  :  -slider.posLeft[(slider.itemLength-1)] + 'px'}, slider.speed)
            slider.current = (slider.itemLength-1)
            $(slider.pager).find('a').removeClass('cur').eq(slider.current).addClass('cur')
        }
        
        var txt = $(slider.headers)[slider.current]

        $(slider.hd).text(txt)
    }
    
    slider.jumpTo = function(i, el){
            slider.current = i
            $(el).addClass('cur').siblings('a').removeClass('cur')
            $(slider.sliderElement).stop(true, true).animate({left  :  -slider.posLeft[i] + 'px'}, slider.speed)
            
            var txt = $(slider.headers)[slider.current]

            $(slider.hd).text(txt)
    }
    
    
    
    return this.each(function(){
        slider.init(this)
        inter = setInterval(slider.moveRt, slider.interval)
    })
}
