def get_json_event_start(event_buffer):
    """ get the event start of an event that is different (in time)from the
        adjoining event, in XML format """
    event_start_pattern = '{"_cd":"'
    time_key_pattern = '"_time":"'
    time_end_pattern = '"'
    event_end_pattern = '"},\n'
    event_end_pattern2 = '"}[]'
    event_start = event_buffer.find(event_start_pattern)
    event_end = event_buffer.find(event_end_pattern, event_start) + len(
        event_end_pattern)
    if event_end < 0:
        event_end = event_buffer.find(event_end_pattern2, event_start) + len(
            event_end_pattern2)
    if event_end < 0:
        return -1, -1, ''
    time_start = event_buffer.find(time_key_pattern, event_start) + len(
        time_key_pattern)
    time_end = event_buffer.find(time_end_pattern, time_start + 1)
    last_time = event_buffer[time_start:time_end]
    event_start = event_end
    while event_end > 0:
        event_start = event_buffer.find(event_start_pattern, event_start + 1)
        event_end = event_buffer.find(event_end_pattern, event_start) + len(
            event_end_pattern)
        if event_end < 0:
            event_end = event_buffer.find(event_end_pattern2, event_start
                ) + len(event_end_pattern2)
        if event_end < 0:
            return -1, -1, ''
        time_start = event_buffer.find(time_key_pattern, event_start) + len(
            time_key_pattern)
        time_end = event_buffer.find(time_end_pattern, time_start + 1)
        this_time = event_buffer[time_start:time_end]
        if this_time != last_time:
            return event_start - 2, event_end, last_time
        event_start = event_end
    return -1, -1, ''
