version 1.96, 2025/06/28 14:35:11
|
version 1.98, 2025/07/02 16:08:37
|
Line 328 function intsecond(secs) {
|
Line 328 function intsecond(secs) {
|
} |
} |
result += '</select>'; |
result += '</select>'; |
return result; |
return result; |
} |
} |
|
|
|
function intweek(weeks) { |
|
var thisweek; |
|
if ((typeof weeks === 'number') && (!isNaN(weeks))) { |
|
thisweek=weeks; |
|
} |
|
var i; |
|
var result =''; |
|
var funcname = ''; |
|
if (pscat == 'grace') { |
|
funcname = 'parent.gracestringeval()'; |
|
} |
|
result += '<select name="weeks" onchange="'+funcname+';">'; |
|
for (i=0;i<=52;i++) { |
|
result += '<option value="'+i+'"'; |
|
if (i==thisweek) { |
|
result += ' selected="selected"'; |
|
} |
|
result += '>'+i+'</option>'; |
|
} |
|
result += '</select>'; |
|
return result; |
|
} |
|
|
function intday(days) { |
function intday(days) { |
var thisdate; |
var thisdate; |
|
var maxallowed; |
if ((typeof days === 'number') && (!isNaN(days))) { |
if ((typeof days === 'number') && (!isNaN(days))) { |
thisdate=days; |
thisdate=days; |
} else { |
} else { |
Line 342 function intday(days) {
|
Line 366 function intday(days) {
|
var funcname = ''; |
var funcname = ''; |
if (pscat == 'grace') { |
if (pscat == 'grace') { |
funcname = 'parent.gracestringeval()'; |
funcname = 'parent.gracestringeval()'; |
|
maxallowed = 6; |
} else { |
} else { |
funcname = 'parent.intcalc()'; |
funcname = 'parent.intcalc()'; |
|
maxallowed = 31; |
} |
} |
result += '<select name="date" onchange="'+funcname+';">'; |
result += '<select name="date" onchange="'+funcname+';">'; |
for (i=0;i<=31;i++) { |
for (i=0;i<=maxallowed;i++) { |
result += '<option value="'+i+'"'; |
result += '<option value="'+i+'"'; |
if (i==thisdate) { |
if (i==thisdate) { |
result += ' selected="selected"'; |
result += ' selected="selected"'; |
Line 459 function validateInterval() {
|
Line 485 function validateInterval() {
|
assemble(); |
assemble(); |
} |
} |
|
|
|
function validateGrace() { |
|
var items = choices.document.getElementsByName('setgrace'); |
|
var needpcr = 0; |
|
var neednum = 0; |
|
if (items) { |
|
if (items.length) { |
|
if (items.length > 0) { |
|
for (var i=0; i<items.length; i++) { |
|
var numnotnull = 0; |
|
var fracnotnull = 0; |
|
var graceDiv = items[i].closest('div'); |
|
var timeSels = graceDiv.getElementsByTagName("select"); |
|
if (timeSels.length) { |
|
for (var j=0; j<timeSels.length; j++) { |
|
var selidx = timeSels[j].selectedIndex; |
|
if (selidx >= 0) { |
|
var val = timeSels[j].options[selidx].value; |
|
if ((val !== null) && (val !== '') && (val !== 'undefined')) { |
|
numnotnull = 1; |
|
break; |
|
} |
|
} |
|
} |
|
} |
|
var inputElems = graceDiv.getElementsByTagName("input"); |
|
if (inputElems.length) { |
|
for (var j=0; j<inputElems.length; j++) { |
|
var iname = inputElems[j].getAttribute('name'); |
|
if (iname == 'frac') { |
|
var ival = inputElems[j].value; |
|
ival.trim(); |
|
var poss = parseFloat(ival); |
|
if ((typeof poss === 'number') && (!isNaN(poss))) { |
|
if ((poss => 0) && (poss <= 1)) { |
|
fracnotnull = 1; |
|
} |
|
} |
|
break; |
|
} |
|
} |
|
} |
|
if (numnotnull && !fracnotnull) { |
|
needpcr ++; |
|
} |
|
if (fracnotnull && !numnotnull) { |
|
neednum ++; |
|
} |
|
} |
|
if (needpcr) { |
|
if (needpcr == 1) { |
|
alert("Grace period setting is incomplete: enter a number between 0 and 1.0 for 'Partial Credit', or use 'Remove'."); |
|
} else { |
|
alert(needpcr+" Grace period settings are incomplete: for each enter a number between 0 and 1.0 for 'Partial Credit', or use 'Remove'."); |
|
} |
|
return; |
|
} |
|
if (neednum) { |
|
if (neednum == 1) { |
|
alert("Grace period setting is incomplete: select a number in at least one of the 'Time past due' select boxes, or use 'Remove'."); |
|
} else { |
|
alert(neednum +" Grace period settings are incomplete: for each select a number in at least one of the 'Time past due' select boxes, or use 'Remove'."); |
|
} |
|
return; |
|
} |
|
} |
|
} |
|
} |
|
assemble(); |
|
} |
|
|
function validateDeepLink() { |
function validateDeepLink() { |
var sform=choices.document.forms.sch; |
var sform=choices.document.forms.sch; |
svalue = sform.deeplinkstate.options[sform.deeplinkstate.selectedIndex].value+','; |
svalue = sform.deeplinkstate.options[sform.deeplinkstate.selectedIndex].value+','; |
Line 721 function gracestringeval() {
|
Line 817 function gracestringeval() {
|
for (var j=0; j<timeSels.length; j++) { |
for (var j=0; j<timeSels.length; j++) { |
var sname = timeSels[j].getAttribute('name'); |
var sname = timeSels[j].getAttribute('name'); |
var poss = parseInt(timeSels[j].options[timeSels[j].selectedIndex].value); |
var poss = parseInt(timeSels[j].options[timeSels[j].selectedIndex].value); |
if (sname == 'date') { |
if (sname == 'weeks') { |
if ((poss > 0) && (poss <= 31)) { |
if ((poss > 0) && (poss <= 52)) { |
|
total += (poss * 604800); |
|
} |
|
} else if (sname == 'date') { |
|
if ((poss > 0) && (poss < 7)) { |
total += (poss * 86400); |
total += (poss * 86400); |
} |
} |
} else if (sname == 'hours') { |
} else if (sname == 'hours') { |
Line 733 function gracestringeval() {
|
Line 833 function gracestringeval() {
|
if ((poss > 0) && (poss < 60)) { |
if ((poss > 0) && (poss < 60)) { |
total += (poss * 60); |
total += (poss * 60); |
} |
} |
} else if (sname == 'seconds') { |
|
if ((poss > 0) && (poss < 60)) { |
|
total += poss; |
|
} |
|
} |
} |
} |
} |
} |
} |
Line 775 function gracestringeval() {
|
Line 871 function gracestringeval() {
|
} |
} |
|
|
function graceitem(current) { |
function graceitem(current) { |
|
var gweeks = 0; |
var gdays = 0; |
var gdays = 0; |
var ghours = 0; |
var ghours = 0; |
var gmins = 0; |
var gmins = 0; |
Line 786 function graceitem(current) {
|
Line 883 function graceitem(current) {
|
var graceItems = new Array; |
var graceItems = new Array; |
graceItems = current.split(':'); |
graceItems = current.split(':'); |
gsecs=graceItems[0]; |
gsecs=graceItems[0]; |
|
gweeks=Math.floor(gsecs/604800); |
|
gsecs -= gweeks*604800; |
gdays=Math.floor(gsecs/86400); |
gdays=Math.floor(gsecs/86400); |
gsecs -= gdays*86400; |
gsecs -= gdays*86400; |
ghours=Math.floor(gsecs/3600); |
ghours=Math.floor(gsecs/3600); |
Line 799 function graceitem(current) {
|
Line 898 function graceitem(current) {
|
} |
} |
return '<input type="hidden" name="setgrace" value="" />'+ |
return '<input type="hidden" name="setgrace" value="" />'+ |
'<fieldset class="LC_grace"><legend>Time past due</legend>'+ |
'<fieldset class="LC_grace"><legend>Time past due</legend>'+ |
'<span style="white-space:nowrap">'+intday(gdays)+' days </span>'+ |
'<span style="white-space:nowrap">'+intweek(gweeks)+' weeks </span>'+ |
'<span style="white-space:nowrap">'+inthour(ghours)+' hours</span><br />'+ |
'<span style="white-space:nowrap">'+intday(gdays)+' days </span><br />'+ |
'<span style="white-space:nowrap">'+intminute(gmins)+' mins</span>'+ |
'<span style="white-space:nowrap">'+inthour(ghours)+' hours </span>'+ |
'<span style="white-space:nowrap">'+intsecond(gsecs)+' secs</span>'+ |
'<span style="white-space:nowrap">'+intminute(gmins)+' mins </span>'+ |
'</fieldset><fieldset class="LC_grace"><legend>Partial Credit</legend>'+ |
'</fieldset><fieldset class="LC_grace"><legend>Partial Credit</legend>'+ |
'<input type="text" size="3" name="frac" value="'+gfrac+'" onblur="parent.gracestringeval();" />'+ |
'<input type="text" size="3" name="frac" value="'+gfrac+'" onblur="parent.gracestringeval();" />'+ |
' <label><input type="checkbox" value="1" name="grad"'+checktext+' onclick="parent.gracestringeval();" />'+ |
' <label><input type="checkbox" value="1" name="grad"'+checktext+' onclick="parent.gracestringeval();" />'+ |
Line 2083 function init() {
|
Line 2182 function init() {
|
selwrite('<a href="javascript:parent.validateInterval();'); |
selwrite('<a href="javascript:parent.validateInterval();'); |
} else if ((ptype=='string') && (pscat=='deeplink')) { |
} else if ((ptype=='string') && (pscat=='deeplink')) { |
selwrite('<a href="javascript:parent.validateDeepLink();'); |
selwrite('<a href="javascript:parent.validateDeepLink();'); |
|
} else if ((ptype=='string') && (pscat=='grace')) { |
|
selwrite('<a href="javascript:parent.validateGrace();'); |
} else { |
} else { |
selwrite('<a href="javascript:parent.assemble();'); |
selwrite('<a href="javascript:parent.assemble();'); |
} |
} |