var pcttot; function validateFields(){ var elements = document.forms[0].elements; var al_onegrade = false; for (var i = 0; i < elements.length; i++) { if (document.getElementById(elements[i].name+'_nochange')) { if (document.getElementById(elements[i].name+'_nochange').checked) { elements[i].className = ''; } } if (/(^| )checkRequired( |$)/.test(elements[i].className) && elements[i].value == "" && !elements[i].disabled) { elements[i].focus(); alert("Please fill out this field."); return false; } if(elements[i].name == 'grade[]' && elements[i].checked) { al_onegrade = true; } } // for elements i if(!al_onegrade) { showError("Please check your grade range", $('error_grades')); location.hash = "#gradesanchor"; return false; } /* if (document.friendinit0.gradesserved.value == '') { // invalid range var anchorname = "#gradesservedanchor"; var errormessage = "Please check your grade range"; document.friendinit0.gradefrom.value = ''; document.friendinit0.gradeto.value = ''; var errdisplay = document.getElementById('error_gradesserved'); showError(errormessage, errdisplay); location.hash = anchorname; return false; } */ var radiogroups = new Array( "profile", "knownetLSO" ); var radioallselected = 0; var radiovalid = false; var myform = document.friendinit0; for (var j = 0; j < radiogroups.length; j++) { for (var k=0; k < myform.elements[radiogroups[j]].length; k++) { var errdisplay = document.getElementById('error_' + radiogroups[j]); if (myform.elements[radiogroups[j]][k].checked) { radioallselected++; showError('',errdisplay); }// if true } // for radiobuttons k if (radioallselected == j) { // no buttons selected in j var anchorname = "#" + radiogroups[j] + "anchor"; switch(radiogroups[j]) { case "profile" : var errormessage = "New profile or update?"; showError(errormessage, errdisplay); location.hash = anchorname; break; case "knownetLSO" : var errormessage = "Please select"; showError(errormessage, errdisplay); location.hash = anchorname; break;knownetLSO default: break; } //switch return false; } // no buttons selected in j radiovalid = (radioallselected == radiogroups.length ? true : false); if (radiovalid) { // reset error mesages break; } else continue ; } // for radiogroups j var pcttot = showpctTotal(); var errdisplay = document.getElementById('error_pct'); if (pcttot != 100) { if (document.getElementById('hundredpct_nochange') && !document.getElementById('hundredpct_nochange').checked) { // alert("debugging: pcttot = " + pcttot); var anchorname = "#pctanchor"; var errormessage = "Please estimate. The percentages should total 100."; showError(errormessage, errdisplay); location.hash = anchorname; return false; } } else { showError('',errdisplay); } return true; } function validatefieldsMore(){ var elements = document.forms[0].elements; for (var i = 0; i < elements.length; i++) { if (document.getElementById(elements[i].name+'_nochange')) { if (document.getElementById(elements[i].name+'_nochange').checked) { elements[i].className = ''; } } if (/(^| )checkRequired( |$)/.test(elements[i].className) && elements[i].value == "" && !elements[i].disabled) { elements[i].focus(); alert("Please fill out this field."); return false; } } // for elements i var radiogroups = new Array( "districtwide", "tool", "tree", "scholasticp", "stopthink", "pearson", "bcp", "questar", "scholastic", "project", "fivedayprogram", "fullhalfpre", "twelvemonthpre", "gradingperiod", "kprogramday", "multiage", "prek" ); var radioallselected = 0; var radiovalid = false; var myform = document.friendmore_2; for (var j = 0; j < radiogroups.length; j++) { // if element doesnt exists if (!myform.elements[radiogroups[j]]) continue; // if element is prek (section 8) and checkbox 'no changes from last year' is checked if (radiogroups[j] == 'prek' || radiogroups[j] == 'multiage' || radiogroups[j] == 'kprogramday' || radiogroups[j] == 'gradingperiod') if (document.getElementById('schoolhave_nochange').checked) continue; for (var k=0; k < myform.elements[radiogroups[j]].length; k++) { var errdisplay = document.getElementById('error_' + radiogroups[j]); if (myform.elements[radiogroups[j]][k].checked) { radioallselected++; showError('',errdisplay); }// if true } // for radiobuttons k if (radioallselected == j) { // no buttons selected in j var anchorname = "#" + radiogroups[j] + "anchor"; var errormessage = "Please select"; showError(errormessage, errdisplay); location.hash = anchorname; return false; } // no buttons selected in j radiovalid = (radioallselected == radiogroups.length ? true : false); if (radiovalid) { // reset error mesages break; } else continue ; } // for radiogroups j var seqpcontselected = false; if (myform.elements["seqpcontent" + m]) { for (var m=0; m < 13; m++) { var errdisplay = document.getElementById('error_seqpcontent'); if (myform.elements["seqpcontent" + m].checked == true) { seqpcontselected = true; showError('',errdisplay); break; } // at least one sequence content area checked } // m loop complete if (seqpcontselected == false) { var anchorname = "#seqpcontentanchor"; var errormessage = "Please select at least one content area. "; showError(errormessage, errdisplay); location.hash = anchorname; return false; } // no sequence content areas checked } var seqcontselected = false; for (var m=0; m < 6; m++) { var errdisplay = document.getElementById('error_seqcontent'); if (myform.elements["seqcontent" + m].checked == true) { seqcontselected = true; showError('',errdisplay); break; } // at least one sequence content area checked } // m loop complete if (seqcontselected == false) { var anchorname = "#seqcontentanchor"; var errormessage = "Please select at least one content area. "; showError(errormessage, errdisplay); location.hash = anchorname; return false; } // no sequence content areas checked var tottea = false; for (var n=0; n < 4; n++) { var errdisplay = document.getElementById('error_tottea'); var errclassdisplay = document.getElementById('error_totckclass'); if ((myform.elements["tottea" + n].value > 0) && (myform.elements["totckclass" + n].value > 0) ) { tottea = true; showError('',errdisplay); showError('',errclassdisplay); break; } // at least some teachers are counted } // n loop complete if (tottea == false) { var anchorname = "#totteaanchor"; if (myform.elements["totckclass0"].value + myform.elements["totckclass1"].value + myform.elements["totckclass2"].value + myform.elements["totckclass3"].value == 0 ) { var errormessage = " Please provide at least an estimate of the number of classes using the Core Knowledge Sequence."; showError('',errdisplay); showError(errormessage, errclassdisplay); location.hash = anchorname; // no class totals } else { var errormessage = "Please provide at least an estimate of your total teachers"; showError('',errclassdisplay); showError(errormessage, errdisplay); location.hash = anchorname; } return false; } // no teacher totals return true; } function floatPoint(num) { return num.toFixed(0); } function isPositiveInteger(gField) { var inputStr = gField.value; if (inputStr.length == 0) return true; for (var i = 0; i < inputStr.length; i++) { var oneChar = inputStr.charAt(i); if (oneChar < "0" || oneChar > "9") { alert("The selected field must be a positive, whole number (no letters or punctuation are allowed)."); gField.focus(); gField.select(); return false; } } return true; } function showpctTotal() { var pcttot = 0; var myform = document.friendinit0; for (i=0; i < 6; i++) { pcttot = pcttot + Number(myform.elements["pct" + i].value); } var showtot = document.createTextNode(pcttot); var hundredpct = document.getElementById('hundredpct'); while(hundredpct.lastChild){ // remove any childs from hundredpct hundredpct.removeChild(hundredpct.firstChild); } hundredpct.appendChild(showtot); if (pcttot == 100) { if (document.getElementById('hundredpct_nochange') && !document.getElementById('hundredpct_nochange').checked) { var errdisplay = document.getElementById('error_pct'); showError('',errdisplay); } } return pcttot; } function rangeGrades(){ if ((document.forms[0].gradefrom) || (document.forms[0].gradeto)){ var gradefrom = document.forms[0].gradefrom.value; var gradeto = document.forms[0].gradeto.value; var gradefromindex = document.forms[0].gradefrom.selectedIndex; var gradetoindex = document.forms[0].gradeto.selectedIndex; if (((gradefrom != '') && (gradeto != '')) && (gradetoindex >= gradefromindex)){ var rangeshow = gradefrom + '-' + gradeto; document.forms[0].gradesserved.value = rangeshow; } else { document.forms[0].gradesserved.value = ''; } } } function showTotalTeachers(){ var eltot = 0, mstot = 0, amtot = 0, sptot = 0; var myform = document.friendmore_2; var teacherfields = new Array(17); for(var i = 0; i < teacherfields.length; i++) { teacherfields[i] = Number(myform.elements[("teachers" + i)].value); } for (i=0; i < 8; i++) { // K-5 teachers eltot = eltot + teacherfields[i]; if (eltot > 0 ) { myform.tottea0.value = eltot; } else { myform.tottea0.value = ''; } } for (i=8; i < 12; i++) { // 6-8 teachers mstot = mstot + teacherfields[i]; if (mstot > 0) { myform.tottea1.value = mstot; } else { myform.tottea1.value = ''; } } for (i=12; i < 14; i++) { // art and music teachers amtot = amtot + teacherfields[i]; if (amtot > 0) { myform.tottea2.value = amtot; } else { myform.tottea2.value = ''; } } for (i=14; i < 17; i++) { // other spec ed teachers sptot = sptot + teacherfields[i]; if (sptot > 0) { myform.tottea3.value = sptot; } else { myform.tottea3.value = ''; } } } function showTotalClasses(){ var elctot = 0, msctot = 0, amctot = 0, spctot = 0; var myform = document.friendmore_2; var classfields = new Array(17); for(var i = 0; i < classfields.length; i++) { classfields[i] = Number(myform.elements[("classes" + i)].value); } for (i=0; i < 8; i++) { // K-5 elctot = elctot + classfields[i]; if (elctot > 0) { myform.totckclass0.value = elctot; } else { myform.totckclass0.value = ''; } } for (i=8; i < 12; i++) { // 6-8 msctot = msctot + classfields[i]; if (msctot > 0) { myform.totckclass1.value = msctot; } else { myform.totckclass1.value = ''; } } for (i=12; i < 14; i++) { // art and music amctot = amctot + classfields[i]; if (amctot > 0) { myform.totckclass2.value = amctot; } else { myform.totckclass2.value = ''; } } for (i=14; i < 17; i++) { // other spec ed spctot = spctot + classfields[i]; if (spctot > 0) { myform.totckclass3.value = spctot; } else { myform.totckclass3.value = ''; } } } function showError(message, errdisp) { var showerror = document.createTextNode(message); while(errdisp.lastChild) { // remove any childs from errdisplay errdisp.removeChild(errdisp.firstChild); } errdisp.appendChild(showerror); } function stateUSA() { var country = document.getElementById('country').value; if ((!country.match(/^US/)) && (country != null)) { stateReq(country); } } function stateReq(val) { if (!val.match(/^US/)) { var state = document.getElementById('state'); state.className = ''; var statelabel = document.getElementById('statelabel'); var span = statelabel.getElementsByTagName('span'); if(span[0]) { statelabel.removeChild(span[0]); statelabel.className = 'padright'; state.value = ''; state.disabled = true; } // alert("Not USA: className = " + state.className); } else { var state = document.getElementById('state'); state.className = 'checkRequired'; var statelabel = document.getElementById('statelabel'); var span = statelabel.getElementsByTagName('span'); if(!span[0]) { var newspan = document.createElement('span'); newspan.className = 'redstar'; var star = document.createTextNode('*'); newspan.appendChild(star); statelabel.appendChild(newspan); statelabel.className = ''; state.disabled = false; } // alert("USA: className = " + state.className); } } function retrieveComputedStyle(element, styleProperty) { var computedStyle = null; if (typeof element.currentStyle != "undefined") { computedStyle = element.currentStyle; } else { computedStyle = document.defaultView.getComputedStyle(element, null); } return computedStyle(styleProperty); }