

admin = {
    confirmDelete: function(url) {
        if(confirm('Do you wish to delete this record?')) {
            window.location.href=url;
        }
        return false;
    },
    forceInt: function(fieldReference) {
        fieldReference.value = fieldReference.value.replace(/[^\d]/g, '');
    },
    forceDecimal: function(fieldReference) {
        fieldReference.value = fieldReference.value.replace(/[^\d\.]/g, '');
    },
    
    // QUESTIONS ADMIN FUNCTIONS
    questions: {
        populateSections: function(module_id) {
            $('section_id').options.length = 0;
            
            new Ajax.Request(
                '/admin/AJAX_sectionsInModules.php', 
                {
                    method: 'get',
                    parameters: {
                        module_id: module_id
                    },
                    onSuccess: function(transport, json) {
                        var sections = eval(transport.responseText);
                        for(i=0;i<sections.length;i++) {
                            $('section_id').options[i] = new Option(sections[i].value, sections[i].id);
                        }
                    }
                }
            );
        },
        
        referenceSearch: function(searchStr) {
            new Ajax.Request(
                '/admin/AJAX_referenceSelect.php', 
                {
                    method: 'get',
                    parameters: {
                        searchStr: searchStr
                    },
                    onSuccess: function(transport, json) {
                        $('reference_id').options.length = 0;
                        var references = eval(transport.responseText);
                        for(i=0;i<references.length;i++) {
                            $('reference_id').options[i] = new Option(references[i].value, references[i].id);
                        }
                    }
                }
            );
        },
        
        referenceDisplay: function(reference_id) {
            $('questions_reference').innerHTML = '';
            
            new Ajax.Request(
                '/admin/AJAX_referenceDisplay.php', 
                {
                    method: 'get',
                    parameters: {
                        reference_id: reference_id
                    },
                    onSuccess: function(transport) {
                        $('questions_reference').innerHTML = transport.responseText;
                    }
                }
            );
        },
        
        answerPost: function(action, question_id, answer_id) {
            var correct = "", text = "", letter = "";
            if(action == 'save') {
                $('answer'+answer_id+"_row").style.background = "yellow";
                // get values to save
                correct = ($('answer'+answer_id+"_correct").checked) ? 'TRUE' : 'FALSE';
                text = $F('answer'+answer_id+"_text");
                letter = $F('answer'+answer_id+"_letter");
            }
        
            new Ajax.Request(
                '/admin/AJAX_questionAnswers.php',
                {
                    method: 'get',
                    parameters: {
                        action: action,
                        question_id: question_id,
                        answer_id: answer_id,
                        correct: correct,
                        text: text,
                        letter: letter
                    },
                    onSuccess: function(transport, json) {
                        $('answersSection').innerHTML = transport.responseText;
                    }
                }
            );
        },
        
        validate: function(form) {
            var output = "";
            
            if(form.module_id.value == 0) output += "Module required<br/>";
            if(form.section_id.value == 0) output += "Section required<br/>";
            if(form.question.value == '') output += "Question required<br/>";
            if(form.reference_id.value == 0) output += "Reference required<br/>";
            
            if(output != '') {
                $('outputMessage').innerHTML = output;
                return false;
            }else{
                return true;
            }
        }
    },
    
    // USERS ADMIN FUNCTIONS
    users: {
        passwordField: {
            enter: function(field) {
                if(field.value == 'ENCRYPTED') {
                    field.value = '';
                    field.style.color = 'black';
                }
            },
            leave: function(field) {
                if(field.value == 'ENCRYPTED') {
                    field.style.color = '#BBB';
                }else{
                    alert("You've changed this user's password. If you save, the user will no longer be able to login with their old password");
                }
            },
            reset: function(field) {
                field.value = 'ENCRYPTED';
                field.style.color = '#BBB';
            }
        }
    }
};