derkenuke, gracias por tu respuesta.
 
Si que intenté hacer algo como lo que tu has propuesto, pero no me salía y opte por ir comparando las fechas entre ellas. 
Dejo el código por si a alguien le interesa:  
 Código PHP:
    // fecha es un array rellenado antes con todas las fechas de los periodos.
for (var c = 0; c <= fecha.length - 1; c+=2){
// m es utilizada para comparar el último periodo con el primero.
var m = c + 2;
 
    if (m >= fecha.length)
        m = 0;
 
    if (compararFechas(fecha[c], fecha[m]))
        if (compararFechas(fecha[c+1], fecha[m]))
            flag2 = 'false';
        else{
            alert(' Se han encontrado fechas solapadas... ');
            flag2 = 'true';
            break;
        }
    else
        if (compararFechas(fecha[c], fecha[m]))
            if (compararFechas(fecha[m+1], fecha[c]))
                flag2 = 'false';
            else{
                alert(' Se han encontrado fechas solapadas... ');
                flag2 = 'true';
                break;
            }
}
 
function compararFechas(p_f1, p_f2){
...
} 
    
  Saludos.