﻿(function ($, undefined) {
    "use strict";

    $.widget("ui.Marquee", {
        options: {
            width: "",
            speed: 20
        },

        _create: function _create() {
            var self = this;
            var element = self.element;
            var options = self.options;

            element.children().css("white-space", "nowrap");
            var width = options.width = options.width || element.children().width();

            element.css({ "overflow": "hidden", "width": width });

            var children = element.children().clone();

            var scrollArea = options.scrollArea = $("<div class='scrollArea'></div>");
            scrollArea.append(element.children());
            scrollArea.append(children);
            element.append(scrollArea);

            scrollArea.css({ "width": width * 2 });

            setInterval(function () {
                self._tick();
            }, options.speed);
        },

        _tick: function _tick() {
            var self = this;
            var element = self.element;
            var options = self.options;

            element.scrollLeft(element.scrollLeft() + 1);
            if (element.scrollLeft() >= options.width) {
                element.scrollLeft(0);
            }
        }
    });
})($);
		
