function render_question(frm) { for(var i=1;i<=frm.description.length;i++) { document.getElementById('my'+i).innerHTML = frm.description[i-1].value; } } function increase(frm,n) { var newValue = document.getElementById('id_points'+ (n-1)).value ; if( newValue == "") { document.getElementById('id_points'+(n-1)).value = "0.5"; return; } document.getElementById('id_points' + (n-1)).value = parseFloat(newValue) + 0.5; } function decrease(frm,n) { var newValue = document.getElementById('id_points'+ (n-1)).value ; if( newValue > 0) { document.getElementById('id_points' + (n-1)).value = parseFloat(newValue) - 0.5; } else { document.getElementById('id_points' + (n-1)).value = 0; } } function grade_data(showHideDiv) { var ele=document.getElementById(showHideDiv); if (ele.style.display=="block") { ele.style.display = "none"; } else { ele.style.display = "block"; } } function setSelectionRange(input, selectionStart, selectionEnd) { if (input.setSelectionRange) { input.focus(); input.setSelectionRange(selectionStart, selectionEnd); } else if (input.createTextRange) { var range = input.createTextRange(); range.collapse(true); range.moveEnd('character', selectionEnd); range.moveStart('character', selectionStart); range.select(); } } function replaceSelection (input, replaceString) { if (input.setSelectionRange) { var selectionStart = input.selectionStart; var selectionEnd = input.selectionEnd; input.value = input.value.substring(0, selectionStart)+ replaceString + input.value.substring(selectionEnd); if (selectionStart != selectionEnd) { setSelectionRange(input, selectionStart, selectionStart + replaceString.length); } else { setSelectionRange(input, selectionStart + replaceString.length, selectionStart + replaceString.length); } } else if (document.selection) { var range = document.selection.createRange(); if (range.parentElement() == input) { var isCollapsed = range.text == ''; range.text = replaceString; if (!isCollapsed) { range.moveStart('character', -replaceString.length); range.select(); } } } } function data(showContent,showHideDiv,a,summary) { var con = document.getElementById(showContent); var ele=document.getElementById(showHideDiv); var atag=document.getElementById(a); if (ele.style.display=="block") { con.style.display = "none" ele.style.display = "none"; atag.text = summary; } else { con.style.display = "block"; ele.style.display = "block"; } } function textareaformat() { var point = document.getElementsByName('points'); var test = document.getElementsByName('test'); var option = document.getElementsByName('options'); var descriptions = document.getElementsByName('description'); var snippets = document.getElementsByName('snippet'); var type = document.getElementsByName('type'); var tags = document.getElementsByName('tags'); for (var i=0;i<point.length;i++) { point[i].id = point[i].id + i; descriptions[i+1].id=descriptions[i+1].id + i; test[i].id=test[i].id + i; snippets[i].id=snippets[i].id + i; option[i].id=option[i].id + i; type[i].id = type[i].id + i; tags[i].id = tags[i].id + i; } for(var i=0;i<point.length;i++) { var point_id = document.getElementById('id_points'+i); point_id.setAttribute('class','mini-text'); var tags_id = document.getElementById('id_tags'+i); tags_id.setAttribute('class','ac_input'); tags_id.setAttribute('autocomplete','off'); var type_id = document.getElementById('id_type'+i); type_id.setAttribute('class','select-type'); type_id.onchange = showOptions; var value = type_id.value; var desc_id = document.getElementById('id_description'+i); desc_id.onfocus = gainfocus; desc_id.onblur = lostfocus; var test_id = document.getElementById('id_test' + i); test_id.onfocus = gainfocus; test_id.onblur = lostfocus; var snippet_id = document.getElementById('id_snippet'+i); $(snippet_id).bind('focus',function(event){ this.rows = 5; $(snippet_id).val(""); }); $(snippet_id).bind('keydown', function (event){ catchTab(snippet_id,event); }); var option_id = document.getElementById('id_options' + i); option_id.onfocus = gainfocus; option_id.onblur = lostfocus; if(value != 'mcq') { document.getElementById('id_options'+i).style.visibility='hidden'; document.getElementById('label_option'+(i+1)).innerHTML = ""; } document.getElementById('my'+ (i+1)).innerHTML = desc_id.value; jQuery().ready(function() { jQuery("#id_tags" + i).autocomplete("/taggit_autocomplete_modified/json", { multiple: true }); $(snippet_id).val("#To avoid indentation errors use tab for indentation for Python questions"); }); } } function catchTab(item,e) { if(navigator.userAgent.match("Gecko")) { c=e.which; } else { c=e.keyCode; } if(c==9) { replaceSelection(item,String.fromCharCode(9)); setTimeout("document.getElementById('"+item.id+"').focus();",0); return false; } } function showOptions(e) { var value = this.value; var no = parseInt(this.id.substring(this.id.length-1)); if( value == 'mcq') { document.getElementById('id_options'+no).style.visibility = 'visible'; document.getElementById('label_option'+ (no+1)).innerHTML = "Options : " } else { document.getElementById('id_options'+no).value = ""; document.getElementById('id_options'+no).style.visibility = 'hidden'; document.getElementById('label_option'+ (no+1)).innerHTML = ""; } } function gainfocus(e) { this.rows = 5; } function lostfocus(e) { this.rows = 1; } function autosubmit() { var total_form = document.getElementsByName('summary').length; var empty_options = 0 ; var count_mcq = 0; for (var i=0;i<total_form;i++) { if (document.getElementById('id_type' + i).value != 'mcq') { continue; } else { count_mcq = count_mcq + 1; var options = document.getElementById('id_options' + i).value; var total_words = options.split("\n").length ; if ( total_words < 4) empty_options = empty_options + 1 ; } } if (empty_options > 0) { alert('Enter 4 options. One option per line.'); return false; } return true; }