(function($){
    $.fn.Ad_Marquee = function(options){
        var settings = $.extend( {
          'time':50
        }, options);
        
        settings._parent = this;
        
        settings._active_index = 0;
        settings._el_count = settings._parent.find('.ekma_marquee_element').length;
        
        settings._max_height = 0;
        
        settings._set_defaults = function(){
            //settings._cont_left = settings._parent.offset().left;
            //settings._cont_width = settings._parent.innerWidth();
            settings._cont_right = settings._parent.innerWidth();
        }
        
        settings._set_defaults();
        
        $(window).resize(function(){
            settings._set_defaults();
        });
        
        //settings._parent.find('.ekma_marquee_element').css('left',settings._cont_right+'px');
        
        settings._parent.find('.ekma_marquee_element').each(function(){
            if($(this).innerHeight() > settings._max_height){
                settings._max_height = $(this).innerHeight();
            }
        });
        
        settings._parent.css('height',settings._max_height + 'px');
        
        var _animated_el = settings._parent.find('.ekma_marquee_element').eq(0);
        
        var _interval_obj = null;
        var _left = 0;
        
        while(_animated_el.innerWidth() + _left < settings._cont_right){
            $('<div class="_left_">' + _animated_el.children('._left_').eq(0).html() + '</div>').insertAfter(_animated_el.children('._left_').eq(0));
        }
        
        settings._marquee = function(){
            //alert(parseInt(_animated_el.css('left')-100) + 'px');
            _left--;
            _animated_el.css('left', _left + 'px');
            
            if(_animated_el.innerWidth() + _left == settings._cont_right){
                $('<div class="_left_">' + _animated_el.children('._left_').eq(0).html() + '</div>').insertAfter(_animated_el.children('._left_').eq(0));
            }
        }

        _interval_obj = setInterval(settings._marquee,settings.time);
        
        
        //on mouseenter stop animation
        
        settings._parent.mouseenter(function(){
           clearInterval(_interval_obj);
        })
        .mouseleave(function(){
            _interval_obj = setInterval(settings._marquee,settings.time);
        });
    }//end Ad_Marquee
})(jQuery);
