var dont_autofocus=0; function putFocus(formInst, elementInst, fromBody) { if (dont_autofocus > 0 && fromBody==1) { return false; } if (document.forms.length > 0) { document.forms[formInst].elements[elementInst].focus(); } } function TabNext(obj,event,len,next_field) { } // removed because it can't be consistent function CheckMaxLength(Object, MaxLen) { if(Object.value.length > MaxLen) { Object.value = Object.value.substring(0, MaxLen); } } // this function sets the date to the current date based upon the ID field function SetToday (idday, idmonth, idyear) { idArray = new Array(idday, idmonth, idyear); let day = '02'; let month = 'MAY'; let year = '24'; let months = Array.from(document.getElementById(idmonth).options).map(option => option.value); if (months.includes('05')) { month = '05'; } for (let item of document.getElementById(idyear).options) { if (item.value !== '') { if (item.value.length === 4) { year = '2024'; } break; } } valueArray = new Array(day, month, year); for (h = 0; h < 3; h++) { optionsCount = document.getElementById(idArray[h]).options.length; for (i = 0; i < optionsCount; i++) { if (valueArray[h] == document.getElementById(idArray[h]).options[i].value) { document.getElementById(idArray[h]).selectedIndex = i; } } } } // this function resets the date field function ClearToday (idday, idmonth, idyear) { let months = Array.from(document.getElementById(idmonth).options).map(option => option.value); let days = Array.from(document.getElementById(idday).options).map(option => option.value); let years = Array.from(document.getElementById(idyear).options).map(option => option.value); if (months.includes('')) { document.getElementById(idmonth).selectedIndex = 0; } if (days.includes('')) { document.getElementById(idday).selectedIndex = 0; } if (years.includes('')) { document.getElementById(idyear).selectedIndex = 0; } } function insertTab(event,obj) { var tabKeyCode = 9; if (event.which) // mozilla var keycode = event.which; else // ie var keycode = event.keyCode; if (keycode == tabKeyCode) { if (event.type == "keydown") { if (obj.setSelectionRange) { // mozilla var s = obj.selectionStart; var e = obj.selectionEnd; obj.value = obj.value.substring(0, s) + "\t" + obj.value.substr(e); obj.setSelectionRange(s + 1, s + 1); obj.focus(); } else if (obj.createTextRange) { // ie document.selection.createRange().text="\t" obj.onblur = function() { this.focus(); this.onblur = null; }; } else { // unsupported browsers } } if (event.returnValue) // ie ? event.returnValue = false; if (event.preventDefault) // dom event.preventDefault(); return false; // should work in all browsers } return true; } function numbersonly(myfield, e, dec) { var key; var keychar; if (window.event) key = window.event.keyCode; else if (e) key = e.which; else return true; keychar = String.fromCharCode(key); // control keys if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27) ) return true; // numbers else if ((("0123456789.").indexOf(keychar) > -1)) return true; // decimal point jump else if (dec && (keychar == ".")) { myfield.form.elements[dec].focus(); return false; } else return false; } function alphanumbersonly(myfield, e, dec) { var key; var keychar; if (window.event) key = window.event.keyCode; else if (e) key = e.which; else return true; keychar = String.fromCharCode(key); // control keys if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27) ) return true; // numbers & letters else if ((("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ").indexOf(keychar) > -1)) return true; // decimal point jump else if (dec && (keychar == ".")) { myfield.form.elements[dec].focus(); return false; } else return false; } function alphaonly(myfield, e, dec) { var key; var keychar; if (window.event) key = window.event.keyCode; else if (e) key = e.which; else return true; keychar = String.fromCharCode(key); // control keys if ((key==null) || (key==0) || (key==8) || (key==9) || (key==13) || (key==27) ) return true; // alpha else if ((("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'.- ").indexOf(keychar) > -1)) return true; // decimal point jump else if (dec && (keychar == ".")) { myfield.form.elements[dec].focus(); return false; } else return false; } function toggleByRow(elem) { rowElement = elem.parentNode.parentNode; inputElements = rowElement.getElementsByTagName('input'); for ( i=0; i < inputElements.length; i++ ) { if ( (inputElements[i].type == 'checkbox' || inputElements[i].type == 'radio') && inputElements[i] != elem ) { inputElements[i].disabled = elem.checked; inputElements[i].checked = false; } } } function countChars(textArea,countDisplay,maxCount) { var line_break = lineBreaks(textArea), message_length = textArea.value.length + line_break, remainingChars = 0, displayString = ''; remainingChars = (maxCount - message_length); if ( remainingChars < 0 ) { textArea.value = textArea.value.substring(0, (maxCount - line_break)); // have to use the line_return count to modify max count since this substr will only remove 1 char per line return } else { // replace the number in the counter display displayString = document.getElementById(countDisplay).innerHTML; displayString = displayString.replace(/\d+/,remainingChars); document.getElementById(countDisplay).innerHTML = displayString; } // helper func to get number of line returns in textarea function lineBreaks(obj) { try { return obj.value.match(/[^\n]*\n[^\n]*/gi).length; } catch (e) { return 0; } } } // this removes the saved message $(function(){ setTimeout(function(){ $('div.sps_flash_msg').fadeOut('slow');},1500); }); function getDynamicMP(target,year,school,system,options) { var yr = $("select[id="+year+"]").val(); var sch = $("select[id="+school+"]").val(); if(sch==undefined) { var sch = $("input[id="+school+"]").val(); } if(sch=='' || sch==undefined) sch = 'ALL'; $.ajax({ type: "GET", url: system+'/IS3/ajax/DynamicMP.ajax.php', data:{"school":sch,"year":yr,"exclude_mp":options["exclude_mp"],"only_mp":options["only_mp"],"include_mp":options["include_mp"],"blank_option":options["blank_option"],"include_fy":options["include_fy"],"default":options["default"]}, dataType:"html", success:function(html) { $("select[id=id_"+target+"]").html(html); } }); } function isValidDate(dateString) { var regEx = /^\d{4}-\d{2}-\d{2}$/; if (!dateString.match(regEx)) { return false; // Invalid format } var d = new Date(dateString); if (!d.getTime() && d.getTime() !== 0) { return false; // Invalid date } return d.toISOString().slice(0,10) === dateString; } $(function() { $('sup.med').html('Med'); $('sup.med').click(function() { var student_id = $(this).parent().attr('id'); $.ajax({ method: 'POST', url: 'https://186.springfield.k12.il.us/IS3/ajax/display_student.ajax.php', data: { _run_silent: 'Y', student_id: student_id }, success: function(modal) { console.log('here'); $('body').append(modal); $('body').css('overflow', 'hidden'); } }); }); }); // Prevent Double Submits $(document).ready(function(){ document.querySelectorAll('form').forEach(form => { if (form.classList.contains('allow-multiple-submits')) { return; } /* * If form submits and opens a new page then we don't want spinner on form */ if ( form.getAttribute('target') === '_blank' ) { return; } form.addEventListener('submit', (e) => { // Prevent if already submitting if (form.classList.contains('is-submitting')) { e.preventDefault(); } // Add class to hook our visual indicator on form.classList.add('is-submitting'); }); }); });