var PageTrivia = {
    init: function() {
        this.initForm();
        this.initQuizFriendSender();
        this.initTriviaQuestionSubmission();
    },
    
    initForm: function(id) {
        
        var id = (typeof id == 'string') ? id : 'triviapageform';
        
        // Replace submit button
        
        $('#' + id)
            .find('input[type=submit]')
            .replaceWith($('<a href="#" class="trivia-submit"><span>SUBMIT</span></a>'));
        
        // Add click event to faux submit
        
        $('#' + id).find('a.trivia-submit').click(function(e) {
            e.preventDefault();
            $('#' + id).submit();
        });
        
    },
    
    initTriviaQuestionSubmission: function() {
        var block = $('div.trivia-question-submit');
        var f = block.find('form');
        $(".btn-question-submit").click(function(e) {
            e.preventDefault();
            $.post(f.attr("action"), f.serialize(), function(data, status, req) {
                if (data.success) {
                    $("#trivia-submit-question").val("");
                    // show success
                    block.find("p.trivia-send-msg").remove();
                    var successMsg = "Thank you for submitting a question.";
                    
                    var success = $("<p></p>").addClass("trivia-send-success trivia-send-msg");
                    f.before(success);
                    
                    success.text(successMsg).css("display", "none").fadeIn(1000);
                } else {
                    // show error
                    block.find("p.trivia-send-msg").remove();
                    
                    var errors = $("<p></p>").addClass("trivia-send-error trivia-send-msg");
                    f.before(errors);
                    
                    errors.text(data.error).css("display", "none").fadeIn(1000);
                }
            }, "json");
        })
    },
    
    initQuizFriendSender: function() {
        var f = $('#trivia-results-friend-sender');
        $(".trivia-results-send-it").click(function(e) {
            e.preventDefault();
            $.post(f.attr("action"), f.serialize(), function(data, status, req) {
                if (data.success) {
                    $("#to_firstname").val("First Name");
                    $("#to_lastname").val("Last Name");
                    $("#to_email").val("Your Friend's Email Address");
                    $("#terms-confirmation").val([]);
                    $.uniform.update($("#terms-confirmation"));
                    // show success
                    f.find("p.trivia-send-msg").remove();
                    var successMsg = "Your message has been sent.";
                    
                    var success = $("<p></p>").addClass("trivia-send-success trivia-send-msg");
                    f.find("span.trivia-results-hr").after(success);
                    
                    success.text(successMsg).css("display", "none").fadeIn(1000);
                } else {
                    // show error
                    f.find("p.trivia-send-msg").remove();
                    
                    var errors = $("<p></p>").addClass("trivia-send-error trivia-send-msg");
                    f.find("span.trivia-results-hr").after(errors);
                    
                    errors.text(data.error).css("display", "none").fadeIn(1000);
                }
            }, "json");
        })
    }
}

$(document).ready(function() {
    PageTrivia.init();
})
