function getEquation() {
    var equation = encodeURIComponent(dojo.byId('asciiEquation').value);
    //alert(equation);

    dojo.xhrGet({
        url: "/include/math/getEquation.jsp?asciiEquation=" + equation,
        handleAs: "text",
        timeout: 5000,

        load: function(response, ioArgs) {
            dojo.byId("renderedEquation").innerHTML = response;
            return response;
        },

        error: function(response, ioArgs) {
            console.error("HTTP status code: ", ioArgs.xhr.status);
            return response;
        }
    });
}


function vote(questionId, voteName) {
    if (voteName == 'Down') {
        dijit.byId('voteReasonDialog_' + questionId).show();
    } else {
        dojo.xhrGet({
            url: "/questions/bin/vote.jsp?questionId=" + questionId + "&voteName=" + voteName,
            handleAs: "text",
            timeout: 5000,

            load: function(response, ioArgs) {
                dojo.byId("up" + questionId).innerHTML = "<a title=\"I like this question.\" href='javascript:void(0);' class=\"vote_up up\"> </a>";
                dojo.byId("down" + questionId).innerHTML = "<a title=\"I don't like this question.\" href='javascript:void(0);' onclick=\"vote(" + questionId + ", 'Down');\" class='vote_down'> </a>";
                return response;
            },

            error: function(response, ioArgs) {
                console.error("HTTP status code: ", ioArgs.xhr.status);
                return response;
            }
        });
    }
}                                           

function voteWithReason(questionId) {
    var nodes = dojo.query("input[type=radio]:checked");
    var reasonId =  nodes[0].value; //dojo.attr(nodes[0], 'value');
    if (reasonId != null) {
        dojo.xhrGet({
            url: "/questions/bin/vote.jsp?questionId=" + questionId + "&voteName=Down&reasonId=" + reasonId,
            handleAs: "text",
            timeout: 5000,

            load: function(response, ioArgs) {
                dijit.byId('voteReasonDialog_' + questionId).hide();
                dojo.byId("question_" + questionId).innerHTML = "";
                return response;
            },

            error: function(response, ioArgs) {
                console.error("HTTP status code: ", ioArgs.xhr.status);
                return response;
            }
        });
    }
}

function getContentFromTemplate(template, keyValuePairs) {
    var ajxUrl = context + template + '?' + dojo.objectToQuery(keyValuePairs);

    var content;

    var deferred = dojo.xhrGet({
        url: ajxUrl,
        timeout: 5000,
        sync:true,
        load: function(response, ioArgs) {
            content = response;
            return response;
        },
        error: function(response, ioArgs) {
            console.error("HTTP status code: ", ioArgs.xhr.status);
            return response;
        }

    });
    return content;
}