Type.registerNamespace('ActiveBets');
/*******************  ActiveBets.User  ***********************/

/*******************  ActiveBets.UserType  ***********************/
ActiveBets.UserType = function() {
    throw Error.invalidOperation();
}
ActiveBets.UserType.prototype = {
    Admin: 0x00,
    Account: 0x01,
    Dealer: 0x02,
    Partner: 0x03
}
ActiveBets.UserType.registerEnum("ActiveBets.UserType", true);

/*******************  ActiveBets.User  ***********************/
ActiveBets.User = function() {
    this.IsAnonymous = true;
    this.Locale = "RU";
    this.UserId = null;
    this.FirstName = null;
    this.LastName = null;

    this._OddFormat = 'EU';
}
ActiveBets.User.prototype = {
    _ctor$0: function() {
    },

    is_anonymous: function() {
        return this.IsAnonymous;
    },

    get_OddFormat: function() {
        return this._OddFormat;
    },

    get_UserId: function() {
        return this.UserId;
    },
    get_locale: function() {
        return this.Locale;
    }
}
ActiveBets.User.registerClass("ActiveBets.User");
/*******************  ActiveBets.Admin  ***********************/
ActiveBets.Admin = function() {
    ActiveBets.Admin.initializeBase(this);

    this.Permissions = 0;
}
ActiveBets.Admin.prototype = {
    _ctor$0: function(arguments) {
        this.init(arguments[0]);
    },

    init: function(/* json */juser) {
        this.IsAnonymous = juser.IsAnonymous;
        if (!this.IsAnonymous) {
            this.FirstName = juser.FirstName;
            this.LastName = juser.LastName;
        }
    },

    get_Permissions: function() {
        return this.Permissions;
    }
}
ActiveBets.Admin.registerClass("ActiveBets.Admin", ActiveBets.User);

/*******************  ActiveBets.Account  ***********************/
ActiveBets.Account = function() {
    ActiveBets.Account.initializeBase(this);

    this._Balance = 0.0;
    this._BetsAmount = 0.0;
}
ActiveBets.Account.prototype = {
    _ctor$0: function() {
    },

    init: function(/* json */juser) {
        this.IsAnonymous = juser.IsAnonymous;
        if (!this.IsAnonymous) {
            this.FirstName = juser.FirstName;
            this.LastName = juser.LastName;

            this._Balance = juser.Balance;
            this._OddFormat = juser.OddFormat;
            this._BetsAmount = juser.BetsAmount;
        }
    },

    get_balance: function() {
        return this._Balance;
    },

    get_bets_amount: function() {
        return this._BetsAmount;
    }
}
ActiveBets.Account.registerClass("ActiveBets.Account", ActiveBets.User);

/*******************  ActiveBets.Dealer  ***********************/
ActiveBets.Dealer = function() {
    ActiveBets.Dealer.initializeBase(this);

    this._IsKiosk = false;

    this._Balance = 0.0;
    this._BetsAmount = 0.0;

    this._PrinterType = 0;
}
ActiveBets.Dealer.prototype = {
    _ctor$0: function() {
    },

    init: function(/* json */juser) {
        this.IsAnonymous = juser.IsAnonymous;
        if (!this.IsAnonymous) {
            this.UserId = juser.UserId;
            this.Locale = juser.Locale;
            this.FirstName = juser.FirstName;
            this.LastName = juser.LastName;

            this._Balance = juser.Balance;
            this._OddFormat = juser.OddFormat;
            this._BetsAmount = juser.BetsAmount;

            this._PrinterType = juser.PrinterType;
        }
    },

    get_isKiosk: function() {
        return this._IsKiosk;
    },

    get_balance: function() {
        return this._Balance;
    },

    get_bets_amount: function() {
        return this._BetsAmount;
    },

    get_printerType: function() {
        return this._PrinterType;
    }
}
ActiveBets.Dealer.registerClass("ActiveBets.Dealer", ActiveBets.User);

/*******************  ActiveBets.Partner  ***********************/
ActiveBets.Partner = function() {
ActiveBets.Partner.initializeBase(this);

    this._Balance = 0.0;
}
ActiveBets.Partner.prototype = {
    _ctor$0: function() {
    },

    init: function(/* json */juser) {
        this.IsAnonymous = juser.IsAnonymous;
        if (!this.IsAnonymous) {
            this.FirstName = juser.FirstName;
            this.LastName = juser.LastName;

            this._Balance = juser.Balance;
        }
    },

    get_balance: function() {
        return this._Balance;
    }
}
ActiveBets.Partner.registerClass("ActiveBets.Partner", ActiveBets.User);