window.addEvent('domready', function() {

    $$('.editScheduleButton').each(function (b) {

       b.addEvent('click', function(e) {

           $$('.editSchedule').each(function (el) {

               if (el.style.display == "none") {
                  el.style.display = "block";
               } else {
                  el.style.display = "none";
               }
           });
        });
   });


   var editForms = $$('.editScheduleForm');

   editForms.each(function (el) {
       
       var pf = $E('select', el.id);
    
       pf.addEvent('change', function(e) {
    
           var tf = $E('input', el.id);
           var tfRow = tf.getParent().getParent();
    
           if (pf.value == "Other") {
               tfRow.setStyle('display', '');
               tf.disabled = false;
           } else {
               tfRow.setStyle('display', 'none');
               tf.value = "";
               tf.disabled = true;
           }
       });
       
       pf.fireEvent('change');
       
    });

});


function checkFormTimes(form) {

    var retVal = false;
    var msg = "";

    startHour = form.startTimeHour.value;

    startMin  = form.startTimeMinute.value;
    endHour   = form.endTimeHour.value;
    endMin    = form.endTimeMinute.value;
    dayId     = form.dayId.value;
    roomId    = form.roomId.value;

    dayStartTime = $('day' + dayId + 'startTime').value;
    dayEndTime   = $('day' + dayId + 'endTime').value;
    
    dayStartTimeArr = dayStartTime.split(":");
    dayStartHour    = dayStartTimeArr[0];
    dayStartMin     = dayStartTimeArr[1];

    dayEndTimeArr = dayEndTime.split(":");
    dayEndHour    = dayEndTimeArr[0];
    dayEndMin     = dayEndTimeArr[1];

    startTs = (startHour * 3600) + (startMin * 60);
    endTs = (endHour * 3600) + (endMin * 60);

    baseTime = $('basetime').value;

    startTs = startTs + parseInt(baseTime);
    endTs = endTs + parseInt(baseTime);

    // get all the events for the selected day and room
    events = $$('.' + dayId + '_' + roomId);

    sessionOverlap = false;
    events.each(function (el) {

        eventStartTs = $('event' + el.id + 'startTime').value;
        eventEndTs   = $('event' + el.id + 'endTime').value;

        if ( (startTs >= eventStartTs && endTs <= eventEndTs) ||
             (startTs < eventStartTs && endTs > eventStartTs) ||
             ((startTs > eventStartTs && startTs < eventEndTs) && (endTs >= eventEndTs)) ||
             (startTs >= eventStartTs && endTs == eventEndTs) ) {

            sessionOverlap = true;
        }
    });

    if (sessionOverlap == true) {
        alert("Session cannot overlap with an existing event");
        return false;
    }
    
    if ((startHour < dayStartHour) || (startHour == dayStartHour && startMin < dayStartMin)) {

        retVal = false;
        msg = "Session cannot start before the day starts";

    } else if ((endHour > dayEndHour) || (endHour == dayEndHour && endMin > dayEndMin)) {

        retVal = false;
        msg = "Session cannot end after the day starts";

    } else if ((startHour > endHour) || (startHour == endHour && endMin <= startMin)) {

        retVal = false;
        msg = "Session cannot start after it finishes.  Please correct the times.";

    } else {
        retVal = true;
    }

    if (retVal == false) {
        alert(msg);
        return false;
    } else {
        return true;
    }
}
