I recently discovered an ingeniously simple way to see if 2 date ranges overlap using only Javascript:
var e1start = e1.start.getTime();
var e1end = e1.end.getTime();
var e2start = e2.start.getTime();
var e2end = e2.end.getTime();
return (e1start > e2start && e1start < e2end || e2start > e1start && e2start < e1end);
Simple, eh?
One more quick note: ff you need extra help with designing your app with Javascript, you can’t go wrong with this fantastic book from Douglas Crockford:
JavaScript: The Good Parts