var whichAction = '';

$(document).ready(function() {
    $('#linkChangeRsvp').click(function() {
        if ($('#rsvp_row').css('display') == 'none') {
            $(this).text('Cancel Reservation Change');
            $('#rsvp_row').show();
        } else {
            $(this).text('Change Reservation');
            $('#rsvp_row').hide();
        }

        return false;
    });

    $('#setFeatured').click(toggleFeaturedEvent);
});

function toggleFeaturedEvent() {

    var params = this.href.split('events.php?')[1].split('&');

    // Get the event id out of the request params.
    for (var i = 0; i < params.length; i++) {

        var paramName   = params[i].split('=')[0];
        var paramValue  = params[i].split('=')[1];

        if (paramName == 'event_id') {

            var event_id = paramValue;

        }

    }

    // The default type is to set the featured event
    var type = 'set';

    whichAction = $('#setFeatured').text();

    switch (whichAction.trim()) {

        case 'Remove Featured Event':

            // Change the type for this context
            type = 'unset';

            break;

        case 'Feature Event':

            // Change the type for this context
            type = 'set';

            break;

    }

    // Set the ajax loader to let the user know what is going on

    // Set up the postParams object
    var postParams = {

        'do':       'events',
        'type':     type,
        'event_id': event_id

    };

    $.postJSON('ajax/featured.php', postParams, function(json) {

        $('#ajaxmessage').html('<div>' + json.message + '</div>');

        switch (json.type) {

            case 'success':

                // Change the link text for the correct context
                $('div', '#ajaxmessage').removeClass('error').addClass('success');
                $('#ajaxmessage').show();
                break;

            case 'error':

                // Change the link text for the correct context
                $('div', '#ajaxmessage').removeClass('success').addClass('error');
                $('#ajaxmessage').show();
                break;

        }

        switch (whichAction.trim()) {

            case 'Feature Event':

                $('#setFeatured').text('Remove Featured Event');
                break;

            case 'Remove Featured Event':

                $('#setFeatured').text('Feature Event');
                break;

        }

    });

    return false;

}

function autoSubmit(formId) {
    var formObj = document.getElementById(formId);

    formObj.submit();
}

allowedKeys = function(e) {

    var key = (e.charCode) ? e.charCode : e.keyCode;

    if (key >= 47 && key <= 57) {

        return true;

    }

    if (key == 8) {

        return true;

    }

    if (e.ctrlKey && e.ctrlKey == true) {

        return true;

    }

    return false;

}
