Widget:SandboxNew: Difference between revisions

Jump to navigation Jump to search
Matt Pijoan (talk | contribs)
No edit summary
Matt Pijoan (talk | contribs)
No edit summary
 
(53 intermediate revisions by the same user not shown)
Line 87: Line 87:
}
}


function loginCheck(arg, exam) {
function loginCheck(exam) {
var Q = document.getElementById('question');
var form = "<div id='Pat' class='noSelect WBRButton'><br />USMLE Format</div><div id='Flash' class='noSelect WBRButton'><br />Flash Cards</div>";
var form = "Man Mode: <input type='radio' name='type' id='type' value='ph' /> Korean Mode: <input type='radio' name='type' id='type' value='fc' />";
$("#question").html(form);
Q.innerHTML = form;
$(".WBRButton").click(function () {
$("input[name='type']").click(function () {
                alert($(this).attr('id'));
$("input[name='FC']").val($("input[name='type']:checked").val());
var form = "<div id='y' class='noSelect WBRButton'><br />Enable Timer</div><div id='n' class='noSelect WBRButton'><br />Disable Timer</div>";
var form = "Timer?<br />Yes <input type='radio' name='timer' value=1 /> No: <input type='radio' name='timer' value=0 />";
$("#question").html(form);
Q.innerHTML = form;
$(".WBRButton").click(function () {
$("input[name='timer']").click(function () {
                        alert($(this).attr('id'));
if ($("input[name='timer']:checked").val() === '1') {
if ($(this).attr('id') === 'y') {
var sel = "<select name='amt' id='amt'><option disabled selected>Choose</option><option value='1'>1</option><option value='30'>30</option><option value='40'>40</option></select>";
var form = "<div id='1' class='noSelect WBRButton'><br />1 Minute</div><div id='10' class='noSelect WBRButton'><br />10 Minute</div><div id='20' class='noSelect WBRButton'><br />20 Minutes</div><div id='40' class='noSelect WBRButton'><br />40 Minutes</div>"
Q.innerHTML = sel;
$("#question").html(form);
$("#amt").change(function () {
$(".WBRButton").click(function () {
countdownCurrent = parseInt($("#amt").val()) * 6000;
                                        alert($(this).parent.attr('id'));
countdownCurrent = parseInt($(this).attr('id')) * 6000;


examHandler(arg, exam);
examHandler(exam);
});
});
} else {
} else {
examHandler(arg, exam);
examHandler(exam);
}
}
});
});
Line 117: Line 118:
return str;
return str;
}
}
function examHandler(arg, exam) {
function examHandler(exam) {
if (arg === 'Random') {
        if (exam === 'Queue') {
            queueExam();
} else {
selectExam(exam);
selectExam(exam);
} else if (arg === 'Queue') {
queueExam();
} else {
alert("Wat.");
}
}


Line 157: Line 156:
});
});
}
}
function catQuestionCount(exam, type, cat){
var queryString = "[[ExamType::"+exam+"]] ";
if(type === "m") {
queryString += "[[MainCategory::"+cat+"]]";
} else {
queryString += "[[SubCategory::"+cat+"]]";
}
var api = new mw.Api();
api.get( {
action: 'ask',
query: queryString,
format: 'json',
        async: false
}, {
ok: function (data) {
  $.each(data.query.results,function(index, value) {
      var count = parseInt(document.getElementById(cat).innerHTML);
      count = count+1;
      document.getElementById(cat).innerHTML = count.toString();
});
}});}


function questionCount(exam, main, sub) {
function completeQuestionCount(exam, main, sub) {
var queryString = "[[ ExamType :: " + exam + " ]] [[ MainCategory :: ";
var queryString = "http://wikidoc.org/index.php?title=Special:Ask&q=[[ExamType::" + urlSwapSpace(exam) + "]][[MainCategory::";
for (var i = 0; i < main.length; i++) {
for (var j = 0; j < main.length; j++) {
queryString += main[i];
queryString += urlSwapSpace(main[j]);
if (i != main.length - 1) {
if (j != main.length - 1) {
queryString += " %7C%7C ";
queryString += "||";
}
}
}
}
queryString += " ]] [[ SubCategory :: ";
queryString += "]][[SubCategory::";
for (var j = 0; j < sub.length; j++) {
for (var i = 0; i < sub.length; i++) {
queryString += sub[j];
queryString += urlSwapSpace(sub[i]);
if (i != sub.length - 1) {
if (i != sub.length - 1) {
queryString += " &#124;&#124; ";
queryString += "||";
}
}
}
}
queryString += " ]]";
queryString += "]]&eq=yes&p[format]=json";
var api = new mw.Api();
        $.get(queryString, function (data) {
api.post({
var obj = jQuery.parseJSON(data);
action : 'ask',
$("#countShow").html(obj.rows.toString());
query : queryString,
$.each(obj.results, function(index, value){
format : 'json',
      alert(value.fulltext);
async : false
});
}, {
$("#numQues").removeAttr('disabled');
ok : function (data) {
});
alert(Object.keys(data.query.results).length);
}
}
 
});
function urlSwapSpace(swap){
  return swap.split(' ').join('+');
}
}


Line 202: Line 223:
$xml = $(xmlDoc),
$xml = $(xmlDoc),
$title = $xml.find("text");
$title = $xml.find("text");
if ($title.text().indexOf('Placeholder,') == -1) {
if ($title.text().indexOf('Placeholder,') ==r-1) {
addNewSection("User:" + mw.user.name() + "/WBRQueue", 'Placeholder,', mw.user.tokens.get('editToken'));
addNewSection("User:" + mw.user.name() + "/WBRQueue", 'Placeholder,', mw.user.tokens.get('editToken'));
alert('First Timah!');
alert('First Timah!');
Line 246: Line 267:
} else if (exam === "USMLE Step 3") {
} else if (exam === "USMLE Step 3") {
categories['main'] = new Array("Community Medical Health Center", "Primary Care Office", "Inpatient Facilities", "Emergency Room");
categories['main'] = new Array("Community Medical Health Center", "Primary Care Office", "Inpatient Facilities", "Emergency Room");
categories['sub'] = new Array("Allergy/Immunology", "Cardiovascular", "Dermatology", "Endocrine", "Gastrointestinal", "Hepatology", "Genitourinary", "Head and Neck", "Hematology", "Infectious Disease", "Musculoskeletal/Rheumatology", "Neurology", "Obstetrics and Gynecology", "Oncology", "Ophthalmology", "Pediatrics", "Poisoning", "Preventive Medicine", "Psychiatry", "Respiratory", "Surgery", "Biostatistics/ Epidemiology", "Ethics", "Electrolytes", "Genetics", "Miscellaneous");
categories['sub'] = new Array("Allergy/Immunology", "Cardiovascular", "Dermatology", "Endocrine", "Gastrointestinal", "Hepatology", "Genitourinary", "Head and Neck", "Hematology", "Infectious Disease", "Musculoskeletal/Rheumatology", "Neurology", "Obstetrics and Gynecology", "Oncology", "Ophthalmology", "Pediatrics", "Poisoning", "Preventive Medicine", "Psychiatry", "Respiratory", "Surgery", "Biostatistics/Epidemiology", "Ethics", "Electrolytes", "Genetics", "Miscellaneous");
} else if (exam === "Board Review") {
} else if (exam === "Board Review") {
categories['main'] = new Array("Adolescent Medicine", "Advanced Heart Failure and Transplant Cardiology", "Allergy & Immunology", "Cardiovascular Disease", "Clinical Cardiac Electrophysiology", "Critical Care Medicine", "Endocrinology", "Diabetes and Metabolism", "Gastroenterology", "Geriatric Medicine", "Hematology", "Hospice & Palliative Medicine", "Hospital Medicine", "Focused Practice", "Infectious Disease", "Internal Medicine", "Interventional Cardiology", "Medical Oncology", "Nephrology", "Pulmonary Disease", "Rheumatology", "Sleep Medicine", "Sports Medicine", "Transplant Hepatology");
categories['main'] = new Array("Adolescent Medicine", "Advanced Heart Failure and Transplant Cardiology", "Allergy & Immunology", "Cardiovascular Disease", "Clinical Cardiac Electrophysiology", "Critical Care Medicine", "Endocrinology", "Diabetes and Metabolism", "Gastroenterology", "Geriatric Medicine", "Hematology", "Hospice & Palliative Medicine", "Hospital Medicine", "Focused Practice", "Infectious Disease", "Internal Medicine", "Interventional Cardiology", "Medical Oncology", "Nephrology", "Pulmonary Disease", "Rheumatology", "Sleep Medicine", "Sports Medicine", "Transplant Hepatology");
Line 259: Line 280:
if (categories['sub'].length >= categories['main'].length) {
if (categories['sub'].length >= categories['main'].length) {
for (var i = 0; i < categories['sub'].length; i++) {
for (var i = 0; i < categories['sub'].length; i++) {
                                catQuestionCount(exam,"s",categories['sub'][i]);
if (categories['main'][i]) {
if (categories['main'][i]) {
table += "<tr><td><input type='checkbox' name='MainCat' value='" + categories['main'][i] + "' />" + categories['main'][i] + "</td><td><input type='checkbox' name='SubCat' value='" + categories['sub'][i] + "' />" + categories['sub'][i] + "</td></tr>";
                                    catQuestionCount(exam,"m",categories['main'][i]);
                                    table += "<tr><td><input type='checkbox' name='MainCat' value='" + categories['main'][i] + "' />" + categories['main'][i] + ":<span id='"+categories['main'][i]+"'>0</span></td><td><input type='checkbox' name='SubCat' value='" + categories['sub'][i] + "' />" + categories['sub'][i] + ":<span id='"+categories['sub'][i]+"'>0</span></td></tr>";
} else {
} else {
table += "<tr><td></td><td><input type='checkbox' name='SubCat' value='" + categories['sub'][i] + "' />" + categories['sub'][i] + "</td></tr>";
table += "<tr><td></td><td><input type='checkbox' name='SubCat' value='" + categories['sub'][i] + "' />" + categories['sub'][i] + ":<span id='"+categories['sub'][i]+"'>0</span></td></tr>";
}
}
}
}
Line 279: Line 302:
}
}


Q.innerHTML += "<div id='SelectAll' class='noSelect WBRButton'>Select All Main Categories</div><div id='UnselectAll' class='noSelect WBRButton'>Select All Sub Categories</div><div id='CountQ' class='noSelect WBRButton'>Count Questions</div><br /><br /><br /><br /><b>Second: choose the number of questions you would like to answer. The maximum number of questions you can select is 45.</b><br /><br /><br />Number of questions:<input type='text' id='numQues' /><br /><br /><div id='Go' class='noSelect WBRButton'>Click here to begin the exam</div>";
Q.innerHTML += "<div id='SelectAll' class='noSelect WBRButton'>Select All Main Categories</div><div id='UnselectAll' class='noSelect WBRButton'>Select All Sub Categories</div><br /><br /><br />Second: Click the Count Question Button below to calculate number of questions available:<br /><br /><br /><div id='CountQ' class='noSelect WBRButton'>Count Questions</div><br /><br /><br /><br /><b>Second: choose the number of questions you would like to answer. The maximum number of questions you can select is <span id='countShow'></span>.</b><br /><br /><br />Number of questions:<input type='text' id='numQues' disabled /><br /><br /><div id='Go' class='noSelect WBRButton'>Click here to begin the exam</div>";
$("#Go").click(function () {
$("#Go").click(function () {
if (countdownCurrent) {
if (countdownCurrent) {
Line 312: Line 335:
});
});
var numQues = $("#numQues").val();
var numQues = $("#numQues").val();
        var Q = document.getElementById('question');
Q.innerHTML = "Loading...";
var Questions = loadExam(exam, numQues, sSub, sMain).toString();
var Questions = loadExam(exam, numQues, sSub, sMain).toString();
$("input[name='stash']").val(Questions);
$("input[name='stash']").val(Questions);
var Q = document.getElementById('question');
Q.innerHTML = "";
Q.innerHTML = "";
$('#home').css('visibility', 'visible');
$('#home').css('visibility', 'visible');
Line 360: Line 384:
sSub.push($(this).val());
sSub.push($(this).val());
});
});
questionCount(exam, sMain, sSub);
completeQuestionCount(exam, sMain, sSub);
});
});
}
}
Line 678: Line 702:
<div id="question" style="visibility:hidden;">
<div id="question" style="visibility:hidden;">
<b>Click here to start the exam:</b><br />
<b>Click here to start the exam:</b><br />
<a href="#" onclick="loginCheck('Random','USMLE Step 1')"><img src="http://static.wikidoc.org/8/87/Step1.png" /></a>
<a href="#" onclick="loginCheck('USMLE Step 1')"><img src="http://static.wikidoc.org/8/87/Step1.png" /></a>
<a href="#" onclick="loginCheck('Random','USMLE Step 2 CK')"><img src="http://static.wikidoc.org/0/07/Step2CK.png" /></a>
<a href="#" onclick="loginCheck('USMLE Step 2 CK')"><img src="http://static.wikidoc.org/0/07/Step2CK.png" /></a>
<a href="#" onclick="loginCheck('Random','USMLE Step 3')"><img src="http://static.wikidoc.org/0/08/Step3.png" /></a>
<a href="#" onclick="loginCheck('USMLE Step 3')"><img src="http://static.wikidoc.org/0/08/Step3.png" /></a>
<a href="#" onclick="loginCheck('Random','Board Review')"><img src="http://static.wikidoc.org/7/75/Boardcertification.png" /></a>
<a href="#" onclick="loginCheck('Board Review')"><img src="http://static.wikidoc.org/7/75/Boardcertification.png" /></a>
<a href="#" onclick="loginCheck('Random','MCAT')"><img src="http://static.wikidoc.org/4/4b/MCAT.png" /></a><br />
<a href="#" onclick="loginCheck('MCAT')"><img src="http://static.wikidoc.org/4/4b/MCAT.png" /></a><br />
<!-- bold + larger font size-->
<!-- bold + larger font size-->
<b>Click here to repeat questions you've gotten wrong previously</b>
<b>Click here to repeat questions you've gotten wrong previously</b>
<input type="button" onclick="loginCheck('Queue','Nuffin')" value="Review Exam" /><br />
<input type="button" onclick="loginCheck('Queue')" value="Review Exam" /><br />


</div>
</div>

Latest revision as of 14:18, 1 July 2013