Z.utils = {};

Z.utils.info = {
    cls: 'infomessage',
    type: {
        show:'s',
        hide: 'h'
    },
    colors: {
        red:'#B02B2C',
        green:'#73880A'
    },
    speed: {
        fast:'fast',
        normal:'normal',
        slow:'slow',
        atmoment:'atmoment'
    },
    show: function(msg, color, speed){
        var obj = this._get_object();
        obj.html(msg);
        obj.css('border-left-color', color);
        if(speed == this.speed.atmoment)
            obj.show();
        else
            obj.fadeIn(speed);
        $.scrollTo('.'.concat(this.cls), 500, {
            offset:{
                top:-10
            }
        });
    },
    hide: function(speed){
        var obj = this._get_object();
        if(speed == this.speed.atmoment)
            obj.hide()
        else
            obj.fadeOut(speed);
    },
    _get_object: function(){
        return $('.'.concat(this.cls));
    }
};

Z.utils.indicator = {
    cls: 'indicator',
    speed: {
        slow:'slow',
        normal:'normal',
        fast:'fast',
        atmoment:'atmoment'
    },
    show: function(speed, selector){
        if(speed == this.speed.atmoment)
            this._get_object(selector).show();
        else
            this._get_object(selector).fadeIn(speed);
    },
    hide: function(speed, selector){
        if(speed == this.speed.atmoment)
            this._get_object(selector).hide()
        else
            this._get_object(selector).fadeOut(speed);
    },
    _get_object: function(s){ // s as selector
        return s == undefined ? $('.'.concat(this.cls)) : $(s);
    }
};
