;(function($){
    
    // Bullet controls
    $.fn.techtwoCaroussel.controls.bullets = function(options, caroussel) {
        
        var controls  = this,
            caroussel = caroussel;
        
        controls.settings  = $.extend({}, $.fn.techtwoCaroussel.controls.bullets.defaults, options);
            
        controls.init = function() 
        {
            // Create dom nodes
            controls.element = $('<ul>').addClass(controls.settings.controlClass);
            
            for (var i = 0, ii = caroussel.panels.length || 0; i < ii; i++) {
                
                var bullet = $('<li />');
                
                if (i == 0) {
                    bullet
                        .addClass('first')
                        .addClass(controls.settings.activeClass);
                }
                
                if (i == (ii - 1)) {
                    bullet
                        .addClass('last');
                }
                
                bullet
                    .addClass('bullet-' + i) 
                    .html('<a href="#">' + (i+1) + '</a>')
                    .appendTo(controls.element)
                    
            }
                        
            var element = controls.settings.element || caroussel.wrapper;

            if (typeof(element) == 'String') {
            	element = $(element);
            }
            
            controls.element[controls.settings.placement](element);
        
            controls.element.find('li').click(function(){
                if (!caroussel.animating) {
                    var index =  controls.element.find('li').index(this);
                    caroussel.gotoPanel(index);
                    controls.gotoPanel(index);
                }
                return false;
            });  
        };
        
        controls.gotoPanel = function(index)
        {
            controls.element.find('li')
                .removeClass(controls.settings.activeClass);
                
            controls.element.find('li:eq(' + index + ')')
                .addClass(controls.settings.activeClass);
            
        };
        
        controls.init();
        
        return controls;
        
    };
    
    $.fn.techtwoCaroussel.controls.bullets.defaults = {
        controlClass: 'controls',
        activeClass: 'active',
        placement: 'insertAfter'
    };
    
})(jQuery);
