evoapp.directive('inlineAlert', function (globals) {
    return {
        require:'ngModel',
        require: '^ngController',
        restrict: 'AE',
        template:   
            '
' +
            '    ' +
            '    ' +
            '
',
        scope: {
            message: '@',
            cssClass: '@'
        },
        link: function (scope, elem, attrs, controller) {
            scope.message = attrs.message != undefined ? attrs.message : null;
            scope.cssClass = attrs.cssClass != null ? attrs.cssClass : null;
            scope.domEl = $(elem);
            scope.domEl.hide();
            scope.isVisible = false;
            scope.show = function () {
                scope.domEl.show();
                scope.isVisible = true;
            };
            scope.hide = function () {
                scope.domEl.hide();
                scope.isVisible = false;
            };
            if (attrs.itemId != undefined) {
                //add reference to this inlineAlert, in parent controller
                if (scope.$parent[attrs.itemId] == undefined) {
                    scope.$parent[attrs.itemId] = scope;
                }
                else {
                    //throw Error('inlineAlert ' + attrs.itemId + ' already exists!');
                }
            }
        }
    }
});