var setBackgrounds = function(evt) {
    var view = evt.event_data.data.sender;
    if (view.overlayId) {
        var incoming = evt.event_data.data.incomingView;
        if (incoming) {
            if (incoming.id.match('performance')) {
                view.setOverlayShadowImageSrc('/kr/safari/images/performance-overlay-20090217.png');
            } else {
                view.setOverlayShadowImageSrc('/kr/safari/images/overlay-gallery-20090217.png');
            }
        }
    }
}

var resetGalleryTriggers = function(evt) {
    var triggers = $$('.overlaypanel a.active.'+evt.event_data.data.sender.triggerClassName);
    if (triggers.length > 2) {
        triggers.each(function(trigger) {
            trigger.removeClassName('active');
        });

        var incoming = evt.event_data.data.incomingView;
        incoming.triggers().each(function(trigger) {
            trigger.addClassName('active');
        });
    }
}

Event.onDOMReady(function() {
    var tracker = new AC.ViewMaster.Tracker('click');
    var performanceCount = 0;
    tracker.setDelegate({
        trackingNameForSection: function(tracker, name, section) {
            if (name.match('ibenchhtml') || name.match('ibenchjs') || name.match('sunspiderjs')) {
                if (performanceCount > 3) {
                    return name;
                }
                performanceCount++;
            } else if (!name.match('overlay-') || name == 'overlay-performance') {
                return name;
            }
        }
    });

    Event.Listener.listenForEvent(AC.ViewMaster, 'ViewMasterWillShowNotification', false, setBackgrounds);
    Event.Listener.listenForEvent(AC.ViewMaster, 'ViewMasterDidShowNotification', false, resetGalleryTriggers);

    new AC.ViewMaster.Viewer(null, 'overlay-topsites-swap', 'overlay-topsites', { parentSectionId:'overlay-topsites', parentTriggerClassName:'OverlayPanel', silentTriggers:true });
    new AC.ViewMaster.Viewer(null, 'overlay-windows-swap', 'overlay-windows', { parentSectionId:'overlay-windows', parentTriggerClassName:'OverlayPanel', silentTriggers:true });
    new AC.ViewMaster.Viewer(null, 'overlay-devtools-swap', 'overlay-devtools', { parentSectionId:'overlay-devtools', parentTriggerClassName:'OverlayPanel', silentTriggers:true });
    new AC.ViewMaster.Viewer(null, 'overlay-design-swap', 'overlay-design', { parentSectionId:'overlay-design', parentTriggerClassName:'OverlayPanel', silentTriggers:true });
    new AC.ViewMaster.Viewer(null, 'overlay-features-swap', 'overlay-features', { parentSectionId:'overlay-features', parentTriggerClassName:'OverlayPanel', silentTriggers:true });
});
