var mas = mas || new Object();
mas.calendar = new Object();
mas.calendar.private = new Object();
mas.calendar.private.curriculum_groups_file = new Array();
mas.calendar.private.curriculum_classes_file = new Array();
mas.calendar.private.groups_url_sources = null;
mas.calendar.curriculums = null;
mas.calendar.groups = null;
mas.calendar.classes = null;
mas.calendar.output_url = null;
mas.calendar.qrcode = null;
mas.calendar.url_sources = null;
mas.calendar.private.add_curriculum =
function (id, fullname, groups, classes)
{
var entry;
if (fullname == "")
{
return;
}
entry = "";
mas.calendar.curriculums.innerHTML = entry + mas.calendar.curriculums.innerHTML;
mas.calendar.private.curriculum_groups_file[id] = groups;
mas.calendar.private.curriculum_classes_file[id] = classes;
};
mas.calendar.private.add_group =
function (data)
{
var entry, i, url_sources;
if (data[0] == "")
{
return;
}
url_sources = new Array();
for (i = 3; i < data.length; i += 2)
{
url_sources.push(data[i]);
}
mas.calendar.private.groups_url_sources[data[1]] = url_sources;
entry = "";
mas.calendar.groups.innerHTML = entry + mas.calendar.groups.innerHTML;
};
mas.calendar.private.add_class =
function (fullname, id)
{
var entry;
if (fullname == "")
{
return;
}
entry =
(
"
"
+ id
+ "
"
+ fullname
+ "
"
);
mas.calendar.classes.innerHTML = entry + mas.calendar.classes.innerHTML;
};
mas.calendar.private.load_curriculums =
function ()
{
var lines, i, val;
lines = this.responseText.split('\n');
for (i = lines.length; i --> 0;)
{
val = lines[i].split("::");
mas.calendar.private.add_curriculum(i, val[0], val[1], val[2]);
}
mas.calendar.select_curriculum();
};
mas.calendar.private.load_groups =
function ()
{
var lines, i, j, val;
mas.calendar.groups.innerHTML = "";
mas.calendar.private.groups_url_sources = new Array();
lines = this.responseText.split('\n');
for (i = lines.length; i --> 0;)
{
val = lines[i].split("::");
mas.calendar.private.add_group(val);
}
mas.calendar.select_group();
};
mas.calendar.private.load_classes =
function ()
{
var lines, i, val;
mas.calendar.classes.innerHTML = "";
lines = this.responseText.split('\n');
for (i = lines.length; i --> 0;)
{
val = lines[i].split("::");
mas.calendar.private.add_class(val[0], val[2]);
}
mas.calendar.generate_url();
};
mas.calendar.private.get_file =
function (file, fun)
{
var req
req = new XMLHttpRequest();
req.onload = fun;
req.open("get", file, true);
req.send();
};
mas.calendar.select_curriculum =
function ()
{
var fullname;
fullname = mas.calendar.curriculums.value;
mas.calendar.private.get_file
(
("data/" + mas.calendar.private.curriculum_groups_file[fullname]),
mas.calendar.private.load_groups
);
mas.calendar.private.get_file
(
("data/" + mas.calendar.private.curriculum_classes_file[fullname]),
mas.calendar.private.load_classes
);
};
mas.calendar.select_group =
function ()
{
var data, i, result;
mas.calendar.url_sources.innerHTML = "";
data = mas.calendar.private.groups_url_sources[mas.calendar.groups.value];
result = "";
for (i = 0; i < data.length; ++i)
{
result += "
" + data[i] + "
";
}
mas.calendar.url_sources.innerHTML = result;
};
mas.calendar.populate =
function ()
{
mas.calendar.curriculums = document.getElementById("curriculums");
mas.calendar.groups = document.getElementById("groups");
mas.calendar.classes = document.getElementById("classes");
mas.calendar.output_url = document.getElementById("output_url");
mas.calendar.qrcode = document.getElementById("qrcode");
mas.calendar.url_sources = document.getElementById("url_sources");
mas.calendar.private.get_file
(
"data/CURRICULUMS",
mas.calendar.private.load_curriculums
);
};
mas.calendar.generate_url =
function ()
{
var url, loc, i, classes;
url = document.location.href.toString();
loc = url.substring(0, (url.lastIndexOf("/") + 1));
loc = loc + "get.php?g=" + mas.calendar.groups.value + "&m=unknown,";
classes = document.getElementsByName("classes");
for (i = classes.length; i --> 0;)
{
if (classes[i].checked)
{
loc = loc + classes[i].value + ",";
}
}
loc = loc.substring(0, (loc.length - 1));
mas.calendar.qrcode.innerHTML= "";
mas.calendar.output_url.setAttribute("value", loc);
jQuery('#qrcode').qrcode(loc);
};