$(document).ready(function() {
var exercises = {}
var currentExercise;
var currentExerciseNumber;
var rightAnswers;
$("#answer").click(function(e) {
var answer = $("input:radio[name=test]:checked").val();
if(answer == undefined)
alert("Выберите ответ");
else {
if(currentExercise["right_answer"] == answer)
rightAnswers++;
next();
}
});
function start() {
shuffle(exercises);
currentExerciseNumber = 0;
rightAnswers = 0;
currentExercise = exercises[currentExerciseNumber];
$("#length").html(exercises.length);
$("#test_length").html(exercises.length);
$("#summary").hide();
$("#test").show();
render();
}
function next() {
if(currentExerciseNumber > exercises.length-2) {
end();
} else {
currentExerciseNumber++;
currentExercise = exercises[currentExerciseNumber];
render();
}
}
function end() {
$("#test").hide();
$("#summary").show();
$("#right_answers").html(rightAnswers);
if((rightAnswers / exercises.length) >= 0.5) {
$("#summary_title").html("Зачёт");
$("#summary_title").attr("class", "title-success");
} else {
$("#summary_title").html("Завал");
$("#summary_title").attr("class", "title-failed");
}
}
function shuffle(o){ //v1.0
for(var j, x, i = o.length; i; j = Math.floor(Math.random() * i), x = o[--i], o[i] = o[j], o[j] = x);
return o;
};
function render() {
$("#id").html(currentExerciseNumber+1);
graph = new Graph("cont", 330, 250)
currentExercise["figures"].forEach(function(figure) {
switch(figure["type"]) {
case "rectangle":
graph.createRectangle(figure["values"][0], figure["values"][1], figure["values"][2], figure["values"][3]);
break;
case "circle":
graph.createCircle(figure["values"][0], figure["values"][1], figure["values"][2]);
break;
case "triangle":
graph.createTriangle(figure["values"][0], figure["values"][1], figure["values"][2], figure["values"][3], figure["values"][4], figure["values"][5])
break;
}
});
graph.setExpression(currentExercise["exercise"]);
graph.draw();
$("#answers").html("");
var i = 0;
currentExercise["answers"].forEach(function(answer) {
$("#answers").append("
");
i++;
})
}
function getCookie(name) {
var matches = document.cookie.match(new RegExp(
"(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)"
));
return matches ? decodeURIComponent(matches[1]) : undefined;
}
var variant = getCookie("variant");
$.ajax({
dataType: "json",
url: (variant !== undefined ? "vars/" + variant + ".json" : "vars/exercises.json"),
success: function(json) {
exercises = json["exercises"];
start();
}
});
$("#again").click(function() {
start();
});
});