// 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("

");
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);
}
}