﻿// JScript File

function Addon_Enquete_Activate() {

}

function Addon_Enquete_Submit(aEnqueteId) {
    var allAnswersRequired = AddonEnqueteRequireAllAnswered;

    //HACK, todo: add switch per webcast or client in wms:
    //allAnswersRequired = false; //<-- requested by Justin&Lars 9/7/2008 <-- 16/2/2009 commented out, since functionality is available in wms

    var Answers = new Array();
    curEnquete = false;

    for (var i = 0; i < document.forms[0].length; i++) {
        var myName = document.forms[0][i].name;

        if (myName == "AddonEnqueteId" && document.forms[0][i].value == aEnqueteId) {
            curEnquete = true;
        }

        if (myName == "AddonEnqueteSubmit") {
            curEnquete = false;
        }

        if (curEnquete && myName.indexOf("AddonEnquete_") == 0) {
            var question_id = myName.split("_")[1];
            var found = false;

            for (var j = 0; j < Answers.length; j++) {
                if (Answers[j][0] == question_id) {
                    found = true;
                }
            }

            if (!found) {
                if (document.forms[0][i].type == "radio") {
                    var myAnswer = getSelectedRadioValue(document.forms[0][myName]);

                    if (allAnswersRequired && (myAnswer < 0 || myAnswer == "")) {
                        Answers = new Array(); break;
                    }

                    Answers.push(new Array(question_id, myAnswer, 1));
                }
                if (document.forms[0][i].type == "text") {
                    var myAnswer = document.forms[0][myName].value

                    if (allAnswersRequired && myAnswer == "") {
                        Answers = new Array(); break;
                    }

                    Answers.push(new Array(question_id, myAnswer, 0));
                }
            }
        }
    }
    if (Answers.length > 0) {
        PlayerService_QueueServerEvent("enquete", { "enqueteId": aEnqueteId, "answers": Answers }, PlayerService_Priority.high, Addon_Enquete_Submit_Callback);
    } else {
        var txt = AddonEnqueteLangArr[0];
        if (txt == "") txt = "Please answer all questions";
        alert(txt);
    }
}

function Addon_Enquete_Submit_Callback(result) {
    var msg = "";
    document.getElementById("AddonEnquete" + result.Values["EnqueteId"] + "Div").innerHTML = msg;
    document.getElementById("AddonEnquete" + result.Values["EnqueteId"] + "Submit").style.display = "none";
}

function getSelectedRadio(buttonGroup) {
    // returns the array number of the selected radio button or -1 if no button is selected
    if (buttonGroup[0]) { // if the button group is an array (one button is not an array)
        for (var i = 0; i < buttonGroup.length; i++) {
            if (buttonGroup[i].checked) {
                return i
            }
        }
    } else {
        if (buttonGroup.checked) {
            return 0;
        } // if the one button is checked, return zero
    }
    // if we get to this point, no radio button is selected
    return -1;
} 
function getSelectedRadioValue(buttonGroup) {
    // returns the value of the selected radio button or "" if no button is selected
    var i = getSelectedRadio(buttonGroup);
    if (i == -1) {
        return "";
    } else {
        if (buttonGroup[i]) { // Make sure the button group is an array (not just one button)
            return buttonGroup[i].value;
        } else { // The button group is just the one button, and it is checked
            return buttonGroup.value;
        }
    }
}