(function($) {
    var items = new Array();
    //var i = 0;
    var left = 0;
    var numitems = 0;
    var total_width = 0;
    var interval = null;

    jQuery.fn.ieslider = function(settings) {
        settings = jQuery.extend({
            speed: 50,
            items: 'div',
            hover: true
        }, settings);

        // init
        $(this).css('position', 'relative').css('overflow', 'hidden');
        $(this).children(settings.items)
            .css('white-space', 'nowrap')
            .css('position', 'absolute')
            .hide();

        var i=0;
        $(this).children(settings.items).each(function() {
            var w = $(this).css('width');
            if (w=='auto')
                w = parseInt($(this).width());
            else
                w = parseInt(w);
            $(this).attr('width', w);
            $(this).css('left', left);
            left = left + w;
            items[i] = $(this);
            numitems++;
            i++;
        });
        total_width = left;

        if (settings.hover) {
            $(this).bind('mouseover', function() {
                clearInterval(interval);
            }).bind('mouseout', function() {
                interval = setInterval(scrollItem, settings.speed);
            });
        }

        $(this).children(settings.items).show();
        interval = setInterval(scrollItem, settings.speed);

        function scrollItem() {
            //console.log('numitems: ' + numitems);
            for (i=0;i<numitems;i++) {
                var item = items[i];
                var pos = parseInt($(item).css('left'));
                var w = $(item).width();
                if (pos==parseInt('-' + w)) {
                    $(item).css('left', (total_width-w) + 'px');
                }
                else {
                    $(item).css('left', (pos-1) + 'px');
                }
            }
        }
    }
})(jQuery);

