
// setup a listener to clicks on the advanced/simple filter
// that is typically coupled with an orgevent calendar,
// when clicked, hide any calendar2 popup div currently shown
Y.use('yui2-yde', function() {
	YAHOO.util.Event.addListener('orgevent_filters_toggle_simple', "click", oecal_hidePopupDivs);
	YAHOO.util.Event.addListener('orgevent_filters_toggle_advanced', "click", oecal_hidePopupDivs);
});

function oecal_hidePopupDivs() {
    cal2HideAllDivs();
    cal2HideAllListDivs();
}

// deals with the multi-day and summary events
function oecal_decorateDayEvents(a,b,dayEventsJson) {

    // how many events we will show for a single day
	var MAX_EVENTS_PER_DAY = 3;
	// how many additional events we will show in an inline pop-up
	var MAX_INLINE_EVENTS = 3;

    var events = dayEventsJson.events;
    var viewMode = dayEventsJson.viewMode;
    var viewPeriod = dayEventsJson.viewPeriod;
    var calCustomID = dayEventsJson.calCustomID;
    
    var moreCount = 0;
    
    // bug 52000 - past a certain number of events, we don't render the inline pop-up
    var maxNumEvents = events.length;
    if (events.length > (MAX_EVENTS_PER_DAY + MAX_INLINE_EVENTS)) {
        maxNumEvents = MAX_EVENTS_PER_DAY;
    }
    
    for(var i = 0; i < maxNumEvents; i++) {
        var event = events[i];
        var eventDivId = 'cal_event_' + event.eventObjId + '_' + event.eventObjMultiDayId;
        var summaryEventDivId = 'cal_event_summary_' + event.eventObjId + '_' + event.eventObjMultiDayId;
        var eventDiv = $(eventDivId);
        var summaryEventDiv = $(summaryEventDivId);        
        
        // handle distinction of active events on admin side
        if(event.isActive == "true" && event.isUserFacing == "false") {
            eventDiv.style.fontWeight = 'bold';
            if(summaryEventDiv) {
                summaryEventDiv.style.fontWeight = 'bold';
            }
        }                
        
        // handle dummies
        if(event.isDummy == 'true') {
            // do nothing
        }
        // handle summary
        else if(viewPeriod == 'month' && i >= MAX_EVENTS_PER_DAY) {
            
            moreCount++;
            
            // if last place, turn into the + more link
            if(i == events.length - 1) {
                if($(eventDivId)) {
                    $(eventDivId).onclick = function() {
                        cal2DisplayListDiv(this, 'cal_event_more_' + event.dayOfYear, calCustomID);
                    };
                    $(eventDivId).innerHTML = '+ ' + moreCount + ' more';
                    eventDiv.style.fontWeight = 'normal';                    
                }  
            }
            // otherwise hide
            else {
                eventDiv.style.display = 'none';                 
            }
        }        
        // handle multi-days
        else if(event.eventObjMultiDayId != "") {
            
            eventDiv.style.paddingTop = '0px';
            eventDiv.style.paddingBottom = '0px';

            if(event.eventBgColor != "") {
                eventDiv.style.backgroundColor = event.eventBgColor;
                eventDiv.style.color = '#FFF';
            } 
            else {
                eventDiv.style.backgroundColor = '#F8F8FF';
                eventDiv.style.color = '#000';
            }
                      
            eventDiv.style.borderTop = '1px solid #333';
            eventDiv.style.borderBottom = '1px solid #333';
            
            // if start day or sunday, paint the left border
            if(event.eventObjMultiDayId == "start_day" || event.dayOfWeek == "1") {
                eventDiv.style.borderLeft = '1px solid #333';
            }                
            
            // if the end day, paint the right border
            if(event.eventObjMultiDayId == "end_day" || event.dayOfWeek == "7") {
                eventDiv.style.borderRight = '1px solid #333';
                eventDiv.style.marginRight = '3px';
            }
            
            // if not start of event, erase name
            if(event.eventObjMultiDayId != "start_day" && event.dayOfWeek != "1") {
                $(eventDivId).innerHTML = "&nbsp;";
            }
 
        }

        

    }
}

