// ==UserScript==
// @name OnlineMathContestProblems 0.3
// @namespace https://twitter.com/kstation_kagigi
// @version 1.4
// @description you can see your correct/wrong easily
// @author stranger_86952
// @match https://onlinemathcontest.com/problems
// @grant none
// @require https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js
// @require http://code.jquery.com/jquery-latest.js
// @require https://code.jquery.com/jquery-3.5.1.min.js
// @license MIT
// ==/UserScript==
var cawaca = 0;
$('#problems-table').find('form').append('<div class="st8_">wait...</div>');
var sss = $('.st8_');
var problem_top = $('thead').find('tr').find('th');
function func(con,cell,num,otu){
var s = $(con).find('a').attr('href') ;
s = String(s);
var u = "https://onlinemathcontest.com" + s + "/tasks";
if(localStorage[$(con).find('a').text()] == null){
var loca = "";
for(var ij=0;ij<num;ij++) loca = loca+'0';
localStorage.setItem($(con).find('a').text(),loca);
}
var usolo = localStorage.getItem($(con).find('a').text());
if(usolo.indexOf('0') != -1){
$(con).css('background-color','#FFFFFF');
$.ajax({
url: u,
type: 'GET',
dataType: 'html',
})
.done(function(data) {
$(data).find('challenge-container').find('table').find('tbody').each(function(){
var ttds = $(this).find('tr');
for(var iji = 0;iji < num;iji++){
if(usolo[iji]=='0'){
var bc = $(ttds[iji]).attr('class');
if(bc == 'table-success'){
var kurea = usolo.length;
var s1 = usolo.slice(0, iji);
var s2 = usolo.slice(iji + 1, kurea);
var s3 = s1 + '1' + s2;
localStorage.setItem($(con).find('a').text(),s3);
usolo = localStorage.getItem($(con).find('a').text());
for(var ijk = 0;ijk<num;ijk++){
if(usolo[ijk]=='1') $(cell[ijk]).css('background-color','#cde9ce');
else $(cell[ijk]).css('background-color','#FFFFFF');
}
}
else{
if($(cell[iji]).find('a').text() == ''){
var kureat = usolo.length;
var s1t = usolo.slice(0, iji);
var s2t = usolo.slice(iji + 1, kureat);
var s3t = s1t + '2' + s2t;
localStorage.setItem($(con).find('a').text(),s3t);
usolo = localStorage.getItem($(con).find('a').text());
}
else{
$(problem_top[0]).css('background-color','#FFFFFF');
$(problem_top[iji+1]).css('background-color','#FFFFFF');
}
}
}
cawaca++;
$(sss).text(String(cawaca) + "/" + String(otu*num));
if(cawaca==otu*num) $(sss).text('読み込み完了')
}
if(usolo.indexOf('0') == -1) $(con).css('background-color','#cde9ce');
});
})
.fail(function( data ) {
//
});
}
else{
$(con).css('background-color','#cde9ce');
cawaca=cawaca+num;
$(sss).text(String(cawaca) + "/" + String(otu*num));
if(cawaca==otu*num) $(sss).text('読み込み完了')
}
usolo = localStorage.getItem($(con).find('a').text());
for(var ijk = 0;ijk<num;ijk++){
if(usolo[ijk]=='1') $(cell[ijk]).css('background-color','#cde9ce');
else $(cell[ijk]).css('background-color','#FFFFFF');
}
}
function don(na){
cawaca = 0;
$(sss).text('読み込み開始');
for(var iii=0;iii<na+1;iii++) $(problem_top[iii]).css('background-color','#cde9ce');
$('tbody').find('tr').each(function(i, contestInfo) {
var otu = $('tbody').find('tr');
const ath = $(contestInfo).find('th');
const tds = $(contestInfo).find('td');
if(na == '6') func(ath,tds,6,otu.length);
if(na == '7') func(ath,tds,7,otu.length);
if(na == '15') func(ath,tds,15,otu.length);
});
}
window.onload = function(){
$(sss).text('---');
setTimeout(function(){
don(6);
},500);
}
var tetete = $('.col-sm-12').find('span');
$(tetete[0]).on('click', function() {
$(sss).text('---');
setTimeout(function(){
don(6);
},500);
});
$(tetete[1]).on('click', function() {
$(sss).text('---');
setTimeout(function(){
don(6);
},500);
});
$(tetete[2]).on('click', function() {
$(sss).text('---');
setTimeout(function(){
don(7);
},500);
});
$(tetete[3]).on('click', function() {
$(sss).text('---');
setTimeout(function(){
don(6);
},500);
});
$(tetete[4]).on('click', function() {
$(sss).text('---');
setTimeout(function(){
don(15);
},500);
});
/*
var stst1 = $('tbody').find('tr');
var stst2 = $(stst1[0]).find('th').find('a').text();
var stst3 = localStorage[stst2];
console.log(stst1);
console.log(stst2);
console.log(stst3);
*/
//localStorage.clear();