(function(){
    "use strict";

    window._stateSet = function () {
        window._stateSet = function() {
            console.log("Call _stateSet only once");
        };
        let appState = window._appState;

        let btn = document.getElementById('token');
        btn.addEventListener('click', function() {
            appState.onTokenReceived('token123');
        })

        let colorChangeBtnRed = document.getElementById('colorChangeBtnRed');
        colorChangeBtnRed.addEventListener('click', function() {
            var hexColor = '#FF0000'.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i
                , (m, r, g, b) => '#ff' + r + r + g + g + b + b).substring(1); 
            var numColor = parseInt(hexColor, 16);
            appState.changeColor(numColor)            
        })
        
        let colorChangeBtnBlue = document.getElementById('colorChangeBtnBlue');
        colorChangeBtnBlue.addEventListener('click', function() {
            var hexColor = '#0000FF'.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i
                , (m, r, g, b) => '#ff' + r + r + g + g + b + b).substring(1); 
            var numColor = parseInt(hexColor, 16);
            appState.changeColor(numColor)            
        })
    }
}());