/*
 *
 * Insert meaningful comments here..
 *
 */

var version = 0.01;
var intvl_id = null;
var count = 0;
var started = false;

jQuery.loadanim = {

    start : function (options) {
        var defaults = {  
            updateTime: 400,  // milliseconds
            message: "Loading",
            ellipsisText: "..."  
        };  
        var options = $.extend(defaults, options);  

        if (started) {
            return;
        }
        $("body").append('<div id="loadAnim"></div>');
        var obj = $("div#loadAnim");
        obj.css("display", "none");
        obj.css("color", "#000");
        obj.css("background-color", "#FFEC8B");
        obj.css("font-weight", "bold");
        obj.css("position", "fixed");
        obj.css("width", (options.message.length + options.ellipsisText.length + 1) + "ex");
        obj.css("padding", "1ex");
        obj.css("left", "39%");
        obj.css("top", "0");
        obj.css("z-index", "9999");
        started = true;
        obj.html(options.message);
        count = 0;
        intvl_id =  setInterval(function () {
            if (++count > options.ellipsisText.length) {
                count = 0;
            }
            var obj = $("div#loadAnim");
            obj.html(options.message + options.ellipsisText.substr(0, count));
          }, options.updateTime);
        obj.css("display", "block");
    },
    stop : function (options) {
        if (!started) {
            return;
        }
        started = false;
        clearInterval(intvl_id);
        intvl_id = null;
        var obj = $("div#loadAnim");
        obj.css("display", "none");
        obj.remove();
    }

};

