var Consultant = Class.create({
    
    initialize: function(obj, lists) {
        this.lists = lists;
        this.consultant = obj;

        this.id = this.getID(obj);
        this.conStatus = ['available', 'busy', 'offline'];
    },

    getID: function(obj) {
        var id = obj.classNames().toArray();
        return id.last();
    },

    placeInList: function() {
        switch (this.getStatus()) {
            case 'available':
                this.lists.available.insert(this.consultant);
                break;
            case 'busy':
                this.lists.busy.insert(this.consultant);
                break;
            default:
                this.lists.offline.insert(this.consultant);
                break;
        }
    },

    getStatus: function() {
        return this.consultant.classNames().toArray().first();
    },

    setStatus: function( conStatus ) {
        if ( this.getStatus() == conStatus ) { 
            return false; 
        };
        
        this.consultant.className = conStatus;
        this.placeInList();
    },

    err: function (msg) {
        throw msg; 
        return 0;
    }

});

var List = Class.create({
    
    initialize: function( className, element ) {
        this.obj = $$(element + '.' + className)[0];
    },

    insert: function( obj ) {
        this.obj.insert({bottom: obj});
    }

});
