﻿function toggleRegistration(result, ctx) {
    // result contains a string built like this:
    // <sessionid>|<slotid>|<isRegistered>
    try {
        var sessionId; var slotId; var isRegistered
        var params;
        params = new String(result).split("|");
        sessionId = params[0];
        slotId = params[1];
        isRegistered = params[2];

        // first set all images of this slot to notregistered
        jQuery('.slot_' + slotId).attr('src', imageNotRegistered);

        // now set the selected one to registered, if needed
        if (isRegistered=="true") {
            jQuery('.session_' + sessionId).attr('src', imageRegistered);
        }
        else {
            jQuery('.session_' + sessionId).attr('src', imageNotRegistered);
        }
    }
    catch (exc) {
        alert('oops: ' + exc.description);
    }
}

function toggleRegistrationError(result, ctx) {
    debugger
    alert('error: ' + result + '\ncontext:' + ctx.id);
}


var tagFilterClass = 'tagFilter';
var tagFilterSelectedClass = 'tagFilterSelected';
var tagFilterSelector = '';
function toggleTagFilter(tagId) {
    var toggleOn;
    
    // the css class for the tag
    var tagClass = 'tag' + tagId

    // is it being toggled 'on'?
    toggleOn = (tagFilterSelector.indexOf(tagClass + ',') < 0);

    // is it switched on or off?
    if (toggleOn) {
        // ON:
        // Add this tag to the filter
        tagFilterSelector = tagFilterSelector + '.' + tagClass + ',';
        // Hide all sessions first
        jQuery('.sessionInfo').hide();
        // Then show the sessions of the new filter
        jQuery(tagFilterSelector.substr(0,tagFilterSelector.length - 1)).show();
    }
    else {
        // OFF:
        // Remove this tag from the filter
        tagFilterSelector = tagFilterSelector.replace('.' + tagClass + ',', '');
        // Apply the new filter
        if (tagFilterSelector.length == 0) {
            // no tags selected anymore, no filter means 'show all'
            jQuery('.sessionInfo').show();
        }
        else {
            // still a filter active, apply the new filter
            // Hide all sessions first
            jQuery('.sessionInfo').hide();
            // Then show the sessions of the new filter
            jQuery(tagFilterSelector.substr(0, tagFilterSelector.length - 1)).show();
        }        
    }

    // Give the tag the right class
    jQuery('#tag' + tagId).toggleClass(tagFilterClass).toggleClass(tagFilterSelectedClass);

    // apply alternating styles
    applyAlternatingItemsStyles();
}