
/**
 * Module dependencies.
 */

var express = require('express')
  , routes = require(__dirname+'/routes');

var app = module.exports = express.createServer();
var io  = require('socket.io').listen(app);
var sockets = require(__dirname+'/sockets')();

// Configuration

app.configure(function(){
  app.set('views', __dirname + '/views');
  app.set('view engine', 'ejs');
  app.use(express.bodyParser());
  app.use(express.methodOverride());
  app.use(require('stylus').middleware({ src: __dirname + '/public' }));
  app.use(app.router);
  app.use(express.static(__dirname + '/public'));
});

app.configure('development', function(){
  app.use(express.errorHandler({ dumpExceptions: true, showStack: true }));
});

app.configure('production', function(){
  app.use(express.errorHandler());
});

// Sockets

io.sockets.on('connection', sockets.connection);

// Routes

app.get('/', routes.index);

app.listen(8889, function() {
  console.log("Express server listening on port %d in %s mode",
              app.address().port, app.settings.env);
});
