// Global Variables reportOption = ""; rptNumber = 1; var urlBase = "/cc3_scripts/cc_server2.exe?style$=GUI&class$=FAS&css$=gui.css"; loadHTML = "Loading..."; attOptions = ""; grdOptions = ""; function getAttOptions() { $.get( urlBase + "&template$=ear_attend&rand=" + Math.random(), function(responseText, textStatus, XMLHttpRequest) { attOptions = responseText; $("select.issue", $("#rptAdd")).each(function() { $(this).append(attOptions).val($(this).data("dfltValue")).statusChange($(this).data("row"), true); }); }); } function getGrdOptions() { $.get( urlBase + "&template$=ear_grades&rand=" + Math.random(), function(responseText, textStatus, XMLHttpRequest) { grdOptions = responseText; $("select.grade", $("#rptAdd")).each(function() { $(this).append(grdOptions).val($(this).data("dfltValue")); }); }); } function statusReport() { if (reportOption == "delete") { r = confirm("This report will be permanently deleted!"); if (r) { document.getElementById("rptPost").value = "delete"; document.getElementById("approval").value = "X"; document.getElementById("signed").value = "N"; jQuery("#rptAdd").submit(); } else { jQuery("#rptList").submit(); } return; } else { /* $("input.dpLastAtt").css("background-color", "#AAAAAA").attr("disabled", true); $("input.warnDrop:checked").each(function() { $(this).setLastAtt(false); }); */ } // Datepickers var rowCnt = $('#stdCnt').val(); for (r = 1; r <= rowCnt; r++) { setFlag(r); var storeDate = "#issueDate" + r; $("#iDate" + r).datepicker({ altField: storeDate, altFormat: 'mmddyy', duration: 'fast', minDate: '-2m', maxDate: '+0m', firstDay: '1', hideIfNoPrevNext: true, navigationAsDateFormat: true, showButtonPanel: true, currentText: 'MM' }); } /* $('#time').timepickr({ convention: 12, format12: "{h:02.d}{m:02.d}{suffix:s}" }); $("input.msgNotice").keyup(function (e) { if ( $("#stdFlag" + $(this).attr("row")).val() != "S" ) { $(this).val(""); alert("You must have a reported Early Alert to send a message to the student."); } }); $("input.noConcern").click(function (e) { $(this).attr("checked", true); }); */ $("html").click(function() { timer = 50; var url = urlBase + "&template$=ear_session"; $.get(url); }); getAttOptions(); // getGrdOptions(); } function hideButtons() { if (document.getElementById("rptCnt")) { for (row = 1; row <= document.getElementById("rptCnt").value; row++) { aprv = document.getElementById("rptApproval" + row).value if (aprv == "S") { document.getElementById("btnEdit" + row).style.visibility = "hidden"; document.getElementById("btnDelete" + row).style.visibility = "hidden"; } } } } jQuery.fn.loadReports = function() { jQuery("#optHead").html("Checking for Submitted Reports"); var div = jQuery(this); div.html("

Loading...

"); var cid = jQuery("#courseid"); jQuery("#optIndex").val( cid.attr("selectedIndex") ); jQuery("#rptOption").val(""); var url = urlBase + "&template$=ear_list&rand=" + Math.random(); var data = "courseid=" + cid.val(); div.load( url, data, function (responseText, textStatus, XMLHttpRequest ) { if (textStatus == "error") { div.html(""); jQuery("#optHead").html("Error while Checking for Submitted Reports"); } }); }; function getRptNbrString(rptNum) { var nbrString = new String(rptNum); while ( nbrString.length < 4 ) { nbrString = " " + nbrString; } return nbrString; } function addReport() { jQuery("#rptOption").val("add"); var rptString = getRptNbrString(rptNumber); jQuery("#reportid").val( jQuery("#courseid").val() + rptString ); jQuery("#optIndex").val( jQuery("#courseid").attr("selectedIndex") ); jQuery("#statusOption").submit(); } function oldReport(rptId, opt, aprv) { if (opt == "edit" || opt == "delete") { if (aprv == "A" || aprv == "R") { alert("Approved and Rejected reports can not be " + opt + "ed."); return; } } jQuery("#rptOption").val( opt ); jQuery("#reportid").val( rptId ); jQuery("#optIndex").val( jQuery("#courseid").attr("selectedIndex") ); jQuery("#statusOption").submit(); } jQuery.fn.setLastAtt = function(dpFocus) { var focus = ( typeof(dpFocus) != "undefined" ) ? dpFocus : true; var wd = $(this); var dp = $("input.dpLastAtt", wd.closest("td")); if ( wd.val() == "D" ) { dp.attr("disabled", false).shadeDate(); if ( focus ) { dp.focus(); } } else { dp.val("").attr("disabled", true).shadeDate(); } setFlag(wd.attr("row")); } jQuery.fn.shadeDate = function () { var shadeColor = "#AAAAAA"; if ( $(this).attr("disabled") ) { // Disabled Date - GREY shadeColor = "#AAAAAA"; $("input.altDate", $(this).closest("td")).val(""); } else if ( $(this).val().length == 10 ) { // Valid Date - GREEN shadeColor = "#55FF55"; } else { // No Date - YELLOW else RED shadeColor = ( $(this).val() == "" ) ? "#FFFF55" : "#FF5555"; } $(this).css("background-color", shadeColor); } function setStatus() { stdCnt = $("#stdCnt").val(); for (i = 0; i < stdCnt; i++) { statusChange(elms[i], i + 1, true); } } function statusChange(dd, row, nofocus) { optValue = dd.options[dd.selectedIndex].value; optClass = dd.options[dd.selectedIndex].className; document.getElementById("issue" + row).value = optValue; var iDate = document.getElementById("iDate" + row); var jDate = $("#iDate" + row); if ( optClass.search("askDate") + 1 ) { jDate.show(); iDate.disabled = false; if (!nofocus) { iDate.focus(); } } else { iDate.value = "" iDate.disabled = true; jDate.hide(); } shadeDate(iDate, row); var numAbsences = $("#numAbsences" + row); var lblAbsences = $("#lblAbsences" + row); var absMsg = $("#absMsg" + row); if ( optClass.search("askNumAbs") + 1 ) { numAbsences.show().attr("disabled", false); lblAbsences.show(); absMsg.show(); if (!nofocus) { numAbsences.focus(); } } else { numAbsences.val("").attr("disabled", true).hide(); lblAbsences.hide(); absMsg.hide(); } numAbsences.shade(); setFlag(row); } jQuery.fn.statusChange = function(row, nofocus) { var noFocus = ( typeof(nofocus) != "undefined" ) ? nofocus : false; var opt = $("option:selected", $(this)); var iDate = $("#iDate" + row); if ( opt.hasClass("askDate") ) { iDate.show(); iDate.removeAttr("disabled"); if (!nofocus) { iDate.focus(); } } else { iDate.val(""); iDate.attr("disabled", true); iDate.hide(); } shadeDate(iDate.get(0), row); var numAbsences = $("#numAbsences" + row); var lblAbsences = $("#lblAbsences" + row); var absMsg = $("#absMsg" + row); if ( opt.hasClass("askNumAbs") ) { numAbsences.show().removeAttr("disabled"); lblAbsences.show(); absMsg.show(); if (!nofocus) { numAbsences.focus(); } } else { numAbsences.val("").attr("disabled", true).hide(); lblAbsences.hide(); absMsg.hide(); } numAbsences.shade(); setFlag(row); } jQuery.fn.shade = function() { var elmVal = $(this).val(); if ( $(this).attr("disabled") ) { // Disabled - GREY $(this).css("backgroundColor", "#AAAAAA"); } else { if ( isNaN(elmVal) ) {// Invalid - RED $(this).css("backgroundColor", "#FF5555"); } else { // Valid - YELLOW else GREEN var color = ( elmVal == "" ) ? "#FFFF55" : "#55FF55"; $(this).css("backgroundColor", color); } } } function shadeDate(elm, row) { if (elm.disabled) { // Disabled Date - GREY elm.style.backgroundColor = "#AAAAAA"; $("#issueDate" + row).val(""); } else { if (elm.value.length == 10) { // Valid Date - GREEN else RED // elm.style.backgroundColor = (isDate(elm.value)) ? "#55FF55" : "#FF5555"; elm.style.backgroundColor = "#55FF55"; } else { // NULL - YELLOW else RED elm.style.backgroundColor = (elm.value == "") ? "#FFFF55" : "#FF5555"; } } } function isDate(date) { if (date.length != 10) { return false; } else { // Valid Date return true; } } function rptValidate(button) { rptNone = true; stdCount = $("#stdCnt").val(); for (i = 0; i < stdCount; i++) { // var flg = $("#stdFlag" + (i + 1)); var attDate = $("#iDate" + (i + 1)); // if ( $("#stdFlag" + (i + 1)).val() == "S" ) { var attStat = $("#issue" + (i + 1)); if ( attStat.hasClass("required") && $.trim(attStat.val()) == "" ) { alert("Attendance is required for Athletes."); attStat.focus(); return; } if ( attStat.val() == "SA" && attDate.value == "" ) { alert("Stopped Attending requires a date."); attDate.focus(); return; } rptNone = false; // } } if ( $("#noStudents").length ) { if (rptNone && !document.getElementById("noStudents").checked && button == "sign") { alert("If you have no students to report, mark the checkbox before Signing."); return; } } if (button == "sign") { rptSign(); } else if (rptNone) { alert("Must select status for students you wish to a report in order to save for later use."); return;} else { rptSave(); } } function rptSave() { document.getElementById("approval").value = "*"; document.getElementById("signed").value = "N"; jQuery("#rptAdd").submit(); } function rptSign() { document.getElementById("approval").value = "S"; document.getElementById("signed").value = "Y"; if ( isFlagged() ) { var submit = true; $("input.dpLastAtt:enabled").each(function() { if ( $(this).val() == "" ) { submit = false; alert("A required date is blank."); $(this).focus(); return false; } }); if ( submit ) { $("#rptAdd").submit(); } } else { alert("You must report at least one student to Sign & Submit."); } } function isFlagged() { var flagged = false; var count = $("#stdCnt").val(); for (i = 1; i <= count; i++) { if ( $("#stdFlag" + i).val() == "S" ) { flagged = true; } } return flagged; } function setField(elm, fld, row) { if (elm.checked) { document.getElementById(fld).value = "Y"; } else { document.getElementById(fld).value = ""; } if (reportOption != "edit") setFlag(row); } jQuery.fn.setCheck = function(fld, val) { if (fld.toUpperCase() == val) { $(this).attr("checked", true); } else { $(this).attr("checked", false); } } function setCheck(elm, flg) { if (flg.toUpperCase() == "Y") { document.getElementById(elm).checked = true; } else { document.getElementById(elm).checked = false; } } function setFlag(row) { var flag = " "; var stdFlag = $("#stdFlag" + row); var iRow = stdFlag.closest("table"); // Checkboxes & Radio elements if ( $("input:checked", iRow).not("input.reset, input.noConcern").length ) flag = "S"; // Select & Text elements $("select, input:text", iRow).not("input.dPick, " + "#message" + row).each(function() { if ( $.trim($(this).val()) != "" ) { flag = "S"; } }); // var clearConcern = ( flag == "S" ) ? true : false; // if ( clearConcern ) $("input.noConcern", iRow).attr("checked", false); // Set Flag stdFlag.val(flag); if (flag != "S") $("#message" + row, iRow).val(""); } jQuery.fn.noConcern = function( row ) { if ( $(this).attr("checked") ) { var tblEA = $("#tblEA" + row); $("input:checkbox", tblEA).not("#noConcern" + row).attr("checked", false); $("select, input:text", tblEA).not("select.issue, input.dPick").val(""); // $("select.issue", tblEA).change(); setFlag(row); } }