###

Template functions for the App. A single location where we parse templates and return their results.

###

uuid = require 'node-uuid'
path = require 'path'
fs = require 'fs'
jade = require 'jade'

###
Sets the Default Locales we would want to pass.
###
exports.get_default_locals = ->
	return {
		
	}

###
Parse and Create HTML Template from 
the Jade File. No Rocket Science Here!
###
exports.parse_template = (type, filename, locals, fn) ->

	if type in ['jade']

		fs.readFile filename, (err, data) ->
			if err
				fn 'Error occured: ' + err
			else
				locals.static_url = 'http://' + (process.env.STATIC_URL || 'static.curriculumvitae.co.za')
				compile_jade = jade.compile data, {
					filename: filename
				}
				fn null, compile_jade(locals)

	else if type in ['mustache']
		fn null, 'mustache'
	else
		fn 'No Such Type'

###
Render the Template
###
exports.get_template = (filename, locals, fn) ->
	parse_mail_template filename, locals, (err, data) ->
		fn err, data
