(function($) {
    // definition
    $.fn.doM_StatusOverlay = function($params) {
        var $defaults = {
            debug: 0,
            // GLOBAL
            type: '',
            value: '',
            unique_id: '',
            poll_id: '',
            name: '',
            refresh: '',
            return_page: '',
            error_choose_answer : ''
        };      
        var $p = $.extend($defaults, $params);

        var newMethods = {
            initiate: function() {
                if ($p.type == 'competition') {
                   $('#competition form').capture_competition_submission();
                } else if ($p.type == 'quiz') {
                   $('#qform, #quiz_question form').capture_quiz_submission();
                } else if ($p.type == 'review') {
                   $('#save_preview').capture_review_submission();
                } else {
                    alert( $p.type );
                }
            },
            capture_review_submission: function() {
                $(this).find('input:submit[name=save], input:submit[name=actionsave]').click(function(e) {
                    e.preventDefault();  // Prevent form submsiion and load overlay
                    $.ajax({
                        type: 'POST',
                        url: '/ajax/settings/set_session_detail.html',
                        data: {
                            id   : $p.unique_id,
                            type : 'review',
                            value: $('input:hidden[name=review]').val(),
                            name : $('input:hidden[name=title]').val(),
                            rating   : $('input:hidden[name=rating]').val(),
                            author   : $('input:hidden[name=author]').val(),
                            location : $('input:hidden[name=location]').val(),
                            nickname : $('input:hidden[name=nickname]').val(),
                            anonymous: $('input:hidden[name=anonymous]').val(),
                            contains_spoilers : $('input:hidden[name=contains_spoilers]').val()
                        },
                        complete: function(data) {
                            // show sign_up overlay
                            var refresh = $p.refresh ? '&refresh=1' : '' ;
                            var URL = '?overlay=sign_in_sub&unique_id='+$p.unique_id+refresh;
                            overlay.trigger(URL);
                        }
                    });
                });
                return false; 
            },
            capture_competition_submission: function() {
                $(this).submit(function(e) {
                    e.preventDefault();  // Prevent form submsiion and load overlay
                    var compAnswer = $(this).find('input:radio[name=poll_answer]:checked').val();
                    var pollID     = $(this).find('input:hidden[name=poll_id]').val();
                    $.ajax({
                        type: 'POST',
                        url: '/ajax/settings/set_session_detail.html',
                        data: {
                            id   : $p.unique_id,
                            type : $p.type,
                            poll_id : pollID,
                            value: compAnswer,
                            name : $p.name,
                            return_page: $p.return_page
                        },
                        complete: function(data) {
                            // show sign_up overlay
                            var refresh = $p.refresh ? '&refresh=1' : '' ;
                            var URL = '?overlay=sign_in_sub&unique_id='+$p.unique_id+refresh;
                            overlay.trigger(URL);
                        }
                    });
                    return false;
                });
            },
            capture_quiz_submission: function() {
                $(this).submit(function(e) {

                    var questionId = $(this).find('input:hidden[name=question_id]').val();
                    var quizAnswer = $(this).find('input:radio[name=answer_id]:checked').val();
                    //var quizScore  = parseInt( $('#quiz_header h1').text().match(/[0-9]/gi).join('') );
                    var answerCount = parseInt( $('#answer_count').html() )+1; // start at question 1
                    if ( answerCount > 2 ) {
                        e.preventDefault();  // Prevent form submsiion and load overlay
                        $.ajax({
                            type: 'POST',
                            url: '/ajax/settings/set_session_detail.html',
                            data: {
                                id   : $p.unique_id,
                                type : $p.type,
                                value: quizAnswer
                            },
                            complete: function(data) {
                                // show sign_up overlay
                                var refresh = $p.refresh ? '&refresh=1' : '' ;
                                var URL = '?overlay=sign_in_sub&unique_id='+$p.unique_id+refresh;
                                overlay.trigger(URL);
                            }
                        });
                    } else {
                        return true;
                    }
                 return false;
                });
            }
        };
        $.each(newMethods, function(i) {
            $.fn[i] = this;
        });
        
        return this.each(function() {
            $this = $(this);
        });
    };
    
})(jQuery);

