// Calculates the space closest to the middle of the name
function splitName(name) {
var middle = name.length / 2;
var spaces = [];
var last = name.indexOf(' ');
while(last !== -1) {
spaces.push(last);
last = name.indexOf(' ', last + 1)
}
if (!spaces.length) {
return {
firstName: name,
lastName: '',
};
}
var splitAt = spaces.reduce(function(current, position) {
var better = Math.abs(current - middle);
var distance = Math.abs(position - middle);
return distance < better ? position : current
}, name.length);
return {
firstName: name.substr(0, splitAt),
lastName: name.substr(splitAt + 1),
};
}