var _ = require("lodash");
var Chan = require("./chan");

module.exports = Network;

function Network(attr) {
	_.merge(this, _.extend({
		id: global.id = ++global.id || 1,
		client: null,
		connected: false,
		host: "",
		nick: "",
		channels: [],
	}, attr));
	
	// Add lobby
	this.channels.unshift(
		new Chan({name: this.host, type: "lobby"})
	);
};

Network.prototype.addChan = function(chan) {
		chan.network = this.host;
		this.channels.push(chan);
};

Network.prototype.toJSON = function() {
	var clone = _.omit(this, [
		"client",
		"connected",
	]);
	clone.name = clone.host.split(".")[1] || clone.host;
	return clone;
};