var ProgressBar = Namespace.declare("com.twitter",
    class ProgressBar extends UcpComponent {
        static get implements() { return []; };
        static start() {}
        static get dependencies() {
            return [
                "/EAMD.ucp/Components/com/twitter/Bootstrap/3.3.7/Bootstrap.component.xml"
            ];
        }
        static get STYLE_WARNING() { return "progress-bar-warning" };
        static get STYLE_DANGER() { return "progress-bar-danger" };
        static get STYLE_SUCCESS() { return "progress-bar-success" };
        static get STYLE_PRIMARY() { return "progress-bar-primary" };


        constructor() {
            super();
            this.value = 60;
            this.valueMin = 0;
            this.valueMax = 100;
            this.unit = "%";
            this.cssClassesBackGround = "";
            this.cssClassesForeGround = "";

            //this.displayWidth = (parseInt(this.value) - parseInt(this.valueMin)) *100 / (parseInt(this.valueMax) - parseInt(this.valueMin));

            this.availableStyles = [ProgressBar.STYLE_WARNING, ProgressBar.STYLE_DANGER, ProgressBar.STYLE_SUCCESS, ProgressBar.STYLE_PRIMARY];

        }

        init() {
            if (this._private.isInitialized)
                return;
            super.init();
            return this;
        }

        get displayWidth() {
            return (parseInt(this.value) - parseInt(this.valueMin)) * 100 / (parseInt(this.valueMax) - parseInt(this.valueMin));
        }


        get text() {
            if (this._private.text)
                return this._private.text;

            return this.value + this.unit;
        }
        set text(newValue) {
            if (this._private.text != undefined)
                this._private.text = "default text";
            this._private.text = newValue;
        }


        demo() {
            console.log("demo called");
        }


    }
);