function BasicCheckboxControl(pContainer, pTitle, pbVerticalSpaceAfter, p_cantclick )
{
var self = this;
var m_container = pContainer;
var m_title = pTitle;
var m_verticalSpaceAfter = (pbVerticalSpaceAfter ? pbVerticalSpaceAfter : false);
var m_titleControl = null;
var m_checkboxControl = null;
var m_cantclick = false;///////////////////////////////// Disabled the checkbox control set to default as false / not disabled
m_cantclick = p_cantclick;/////////////////////////////// catch passed switch IF set
this.GetChecked = m_getChecked;
this.SetChecked = m_setChecked;
this.SetEnabled = m_setEnabled;
/* Event fired when checked state changes */
this.OnChange = null;
m_initialise()
function m_initialise()
{
m_checkboxControl = document.createElement("INPUT");
m_checkboxControl.type = "checkbox";
m_checkboxControl.onclick = m_checkboxControl_OnClick;
m_container.appendChild(m_checkboxControl);
if (m_cantclick) { ///////////////////////////////////////// catch condition disable switch if true set to disabled = true
m_checkboxControl.disabled= true;
}
if (m_title) {
m_titleControl = document.createElement("SPAN");
m_titleControl.innerHTML = m_title;
m_container.appendChild(m_titleControl);
}
if (m_verticalSpaceAfter) {
m_container.appendChild(document.createElement("BR"));
}
}
function m_checkboxControl_OnClick()
{
if (self.OnChange) {
self.OnChange(m_checkboxControl.checked);
}
}
function m_getChecked()
{
return m_checkboxControl.checked;
}
function m_setChecked(pbChecked)
{
m_checkboxControl.checked = pbChecked
}
function m_setEnabled(pbEnabled)
{
m_checkboxControl.disabled = !pbEnabled;
}
}
function BasicLabelControl(pContainer, pTitle, pWidth, pbVerticalSpaceAfter, pAlignment)
{
var self = this;
var m_container = pContainer;
var m_title = pTitle;
var m_width = (pWidth ? pWidth : 200);
var m_verticalSpaceAfter = (pbVerticalSpaceAfter ? pbVerticalSpaceAfter : false);
var m_alignment = (pAlignment ? pAlignment.toLowerCase() : 'left');
var m_titleControl = null;
var m_labelControl = null;
this.SetValue = m_setValue;
m_initialise()
function m_initialise()
{
if (m_title) {
m_titleControl = document.createElement("DIV");
m_titleControl.innerHTML = m_title;
m_titleControl.className = "BasicLabelControlTitle";
m_container.appendChild(m_titleControl);
}
m_labelControl = document.createElement("SPAN");
m_labelControl.className = "BasicLabelControlLabel";
m_labelControl.style.width = pWidth + "px";
m_labelControl.style.textAlign = m_alignment;
m_container.appendChild(m_labelControl);
if (m_verticalSpaceAfter) {
m_container.appendChild(document.createElement("BR"));
}
}
function m_setValue(pValue)
{
m_labelControl.innerHTML = pValue;
}
}
function BasicTextControl(pContainer, pTitle, pMaxLength, pWidth, pbVerticalSpaceAfter)
{
var self = this;
var m_container = pContainer;
var m_title = pTitle;
var m_maxLength = (pMaxLength ? pMaxLength : 255);
var m_width = (pWidth ? pWidth : 200);
var m_verticalSpaceAfter = (pbVerticalSpaceAfter ? pbVerticalSpaceAfter : false);
var m_titleControl = null;
var m_textControl = null;
this.GetValue = m_getValue;
this.SetValue = m_setValue;
this.SetEnabled = m_setEnabled;
m_initialise()
function m_initialise()
{
if (m_title) {
m_titleControl = document.createElement("DIV");
m_titleControl.innerHTML = m_title;
m_titleControl.className = "BasicTextControlTitle";
m_container.appendChild(m_titleControl);
}
m_textControl = document.createElement("INPUT");
m_textControl.type = "text";
m_textControl.maxLength = m_maxLength;
m_textControl.className = "BasicTextControlText";
m_textControl.style.width = m_width + "px";
m_container.appendChild(m_textControl);
if (m_verticalSpaceAfter) {
m_container.appendChild(document.createElement("BR"));
}
}
function m_getValue()
{
return m_textControl.value;
}
function m_setValue(pValue)
{
m_textControl.value = pValue
}
function m_setEnabled(pbEnabled)
{
m_textControl.disabled = !pbEnabled;
}
}
function BooleanToggleControl(pContainer, pObjectIdentifier, pActionIdentifier, pObjectPKName, pObjectPKValue, pValue, pTitle, pbVerticalSpaceAfter)
{
var self = this;
var m_container = pContainer;
var m_objectIdentifier = pObjectIdentifier;
var m_actionIdentifier = pActionIdentifier;
var m_objectPKName = pObjectPKName;
var m_objectPKValue = pObjectPKValue;
var m_title = pTitle;
var m_verticalSpaceAfter = (pbVerticalSpaceAfter ? pbVerticalSpaceAfter : false);
var m_value = pValue.toLowerCase();
var m_checkboxControl = null;
var m_bEnabled = true;
var m_titleControl = null;
var m_cboToggle = new CallBackObject();
m_cboToggle.OnComplete = m_cboToggle_Complete;
m_cboToggle.OnError = m_cboGeneric_Error;
this.SetValue = m_setValue;
this.SetDisabled = m_setDisabled;
this.OnChange = null; // OnChange(pChecked);
this.OnChangeEx = null; // OnChangeEx(pChecked, pCancel);
this.SetPKValue = m_setPKValue;
this.GetValue = m_getValue;
m_initialise();
function m_setPKValue(pPKValue)
{
m_objectPKValue = pPKValue
}
function m_initialise(){
if (m_title) {
m_titleControl = document.createElement("DIV");
m_titleControl.innerHTML = m_title;
m_titleControl.className = "BooleanToggleControlTitle";
m_container.appendChild(m_titleControl);
}
m_checkboxControl = document.createElement("INPUT");
m_checkboxControl.type = "checkbox";
m_checkboxControl.value = "1";
m_checkboxControl.onclick = m_onClick;
m_container.appendChild(m_checkboxControl);
m_checkboxControl.checked = (m_value == "true");
if (m_verticalSpaceAfter) {
m_container.appendChild(document.createElement("BR"));
}
}
function m_onClick()
{
var bCancel = false;
if (self.OnChange) self.OnChange(this.checked);
if (self.OnChangeEx) {
bCancel = self.OnChangeEx(this.checked);
if (bCancel == true) {
this.checked = !this.checked;
return;
}
}
m_checkboxControl.disabled = true;
m_cboToggle.DoCallBackManual(m_objectIdentifier, m_actionIdentifier, m_objectPKName + "=" + m_objectPKValue + "&Toggle=" + this.checked);
}
function m_cboToggle_Complete(responseText, responseXML)
{
m_checkboxControl.disabled = !m_bEnabled;
}
function m_cboGeneric_Error(status, statusText, responseText)
{
m_checkboxControl.disabled = !m_bEnabled;
ShowDebugWindow(responseText);
}
function m_setDisabled(pValue)
{
m_bEnabled = !pValue
m_checkboxControl.disabled =!m_bEnabled;
}
function m_setValue(pValue)
{
m_checkboxControl.checked = (pValue.toLowerCase() == 'true');
}
function m_getValue()
{
return m_checkboxControl.checked;
}
}
function ButtonControl(pContainer, pButtonText)
{
var self = this;
var m_container = pContainer;
var m_buttonControl = null;
/* OnClick Event */
this.OnClick = null;
this.SetButtonText = m_setButtonText;
this.Show = m_show;
this.Hide = m_hide;
m_initialise();
function m_initialise()
{
m_buttonControl = document.createElement("INPUT");
m_buttonControl.type = "button";
m_buttonControl.className = "FlatButton";
m_buttonControl.value = pButtonText;
m_buttonControl.onclick = m_buttonControl_OnClick;
m_container.appendChild(m_buttonControl);
}
function m_setButtonText(pButtonText)
{
m_buttonControl.value = pButtonText;
}
function m_buttonControl_OnClick()
{
if (self.OnClick) {
self.OnClick();
}
}
function m_show()
{
m_buttonControl.style.display = "inline";
}
function m_hide()
{
m_buttonControl.style.display = "none";
}
}
function ConfigureLockControl(pContainer, pPKSchool)
{
var self = this;
var m_container = pContainer;
var m_PKSchool = pPKSchool;
var m_reportingEnabled = null;
var m_contentContainer;
var m_cboGet = new CallBackObject();
m_cboGet.OnComplete = m_cboGet_Complete;
m_cboGet.OnError = m_cboGeneric_Error;
this.OnComplete = null;
m_initialise();
function m_initialise()
{
m_cboGet.DoCallBackManual("schoolreportingperiod_current", "get", "PK_School=" + m_PKSchool);
}
function m_cboGet_Complete(responseText, responseXML)
{
var xml = responseXML.lastChild.firstChild;
m_reportingEnabled = (xml.getAttribute("reportingenabled").toLowerCase() == "true");
if (m_reportingEnabled)
{
m_renderMessage();
}
if (self.OnComplete) {
self.OnComplete(m_reportingEnabled);
}
}
function m_cboGeneric_Error(status, statusText, responseText)
{
ShowDebugWindow(responseText);
}
function m_renderMessage()
{
m_contentContainer = document.createElement("DIV");
m_contentContainer.className = "ConfigureLockControlContentContainer"
m_contentContainer.innerHTML = "This screen is currently locked for edits as the reporting period has commenced.
To unlock this page, go to the Enable Reporting configuration screen.";
m_container.appendChild(m_contentContainer);
}
}
function ReportControl(pContainer, pSubjectQuartiles, pStrandAchievementLevels, pSchoolValuesAchievementLevels, pSchoolBehavioursAchievementLevels, pAllowTeacherFinalise, pAllowPrincipalFinalise, pAllowReviewerFinalise, pAllowModifyArchivedReports, pAllowModifyReportsFinalisedByPrincipal)
{
var self = this;
var m_container = pContainer;
var m_subjectQuartiles = pSubjectQuartiles;
var m_strandAchievementLevels = pStrandAchievementLevels;
/* When this is true, school based achievement levels are used instead of the values in tb_SystemSetting*/
var m_useSchoolBastedStrandAchievementLevels = true;
var m_schoolValuesAchievementLevels = pSchoolValuesAchievementLevels;
var m_schoolBehavioursAchievementLevels = pSchoolBehavioursAchievementLevels;
var m_allowTeacherFinalise = pAllowTeacherFinalise;
var m_allowPrincipalFinalise = pAllowPrincipalFinalise;
var m_allowReviewerFinalise = pAllowReviewerFinalise; //Prime Learning
var m_allowModifyArchivedReports = pAllowModifyArchivedReports;
var m_allowModifyReportsFinalisedByPrincipal = pAllowModifyReportsFinalisedByPrincipal;
var m_navigatorContainer = null;
var m_navigatorContainerInner = null;
var m_navStartImageControl = null
var m_navPrevImageControl = null
var m_navNexttImageControl = null
var m_navEndImageControl = null
var m_studentsList = null;
var m_detailsContainer = null;
var m_menuControl = null;
var m_menuContainer = null;
var m_contentContainer = null;
var m_stageDropdownControl = null;
var m_navigatorContainerHelpMessage = null;
var m_subjectControls = null; /* array containing subject controls */
var m_actionsContainer = null;
var m_actionsContainerInner = null;
var m_listControls = null;
var oTeacherCommentControl = null;
var oPrincipalCommentControl = null;
/* Details of current report */
var m_PKSchool = null;
var m_PKStudent = null;
var m_PKReportingPeriod = null;
var m_limitType = null;
var m_PK = null;
var m_PKStudentReportingPeriod = null;
var m_PKStage = null;
var m_PKGrade = null;
var m_stageName = null;
var m_isFinalisedByPrincipal = null;
var m_isFinalisedByTeacher = null;
var m_isFinalisedByReviewer = null; //Prime Learning
var m_showTeacherComment = null;
var m_showPrincipalComment = null;
var m_studentFirstName = null;
var m_studentSurname = null;
var m_studentGender = null;
var m_teacherName = null;
var m_daysAbsent = null;
var m_showEffort = null;
var m_effort1 = null;
var m_effort2 = null;
var m_effort3 = null;
var m_effort4 = null;
var m_rankingOption = null;
var m_showQuantitativeAssessment = null;
var m_reportIsFromCurrentReportingPeriod = null;
var m_PKReportTemplate = null;
var m_reportTemplatePaperSize = null;
var m_reportTemplateFontName = null
var m_reportTemplateCommentJustification = null;
var m_showAchievementContinuum = null;
var m_achievementContinuum1 = null;
var m_achievementContinuum2 = null;
var m_achievementContinuum3 = null;
var m_achievementContinuum4 = null;
var m_achievementContinuum5 = null;
var m_showSubjectComments = null;
var m_subjectCommentMaxLength = null;
var m_teacherCommentMaxLength = null;
var m_principalCommentMaxLength = null;
/* 20060409: The overall stage of the student is no longer displayed */
var m_showOverallStage = false;
/* Allow user to view report in XML (good for testing) */
var m_showViewXMLOption = false;
/* 20070525: LUC: Event now passes archived state. */
var m_Archived = false;
var m_xmlStudentList = null;
var m_xmlCurrentStudent = null;
var m_xmlSubjectsList = null;
var m_xmlListsList = null;
var m_currentSubject = 0;
var m_cboListStudents = new CallBackObject();
var m_cboListReportDetails= new CallBackObject();
var m_cboListReportSubjects = new CallBackObject();
var m_cboListReportLists = new CallBackObject();
var m_cboGetStudentReport = new CallBackObject();
var m_cboSetStage = new CallBackObject();
m_cboListStudents.OnComplete = m_cboListStudents_Complete;
m_cboListStudents.OnError = m_cboGeneric_Error;
m_cboListReportSubjects.OnComplete = m_cboListReportSubjects_Complete;
m_cboListReportSubjects.OnError = m_cboGeneric_Error;
m_cboListReportLists.OnComplete = m_cboListReportLists_Complete;
m_cboListReportLists.OnError = m_cboGeneric_Error;
m_cboGetStudentReport.OnComplete = m_cboGetStudentReport_Complete;
m_cboGetStudentReport.OnError = m_cboGeneric_Error;
m_cboSetStage.OnComplete = m_cboSetStage_Complete;
m_cboSetStage.OnError = m_cboGeneric_Error;
this.SetCurrentStudentSet = m_setCurrentStudentSet;
m_initialise();
function m_initialise()
{
var oImageContainer;
var oTable;
var oTBody;
var oTR;
var oTD;
var oText;
var oStageContainer;
oTable = document.createElement("TABLE");
oTable.width = "100%";
oTable.border = 0;
oTable.cellPadding = 0;
oTable.cellSpacing = 4;
m_container.appendChild(oTable);
oTBody = document.createElement("TBODY");
oTable.appendChild(oTBody);
oTR = document.createElement("TR");
oTBody.appendChild(oTR);
oTD = document.createElement("TD");
oTD.width = 600;
oTR.appendChild(oTD);
m_navigatorContainer = document.createElement("DIV");
m_navigatorContainer.className = "ReportControlNavigatorContainerOuter";
oTD.appendChild(m_navigatorContainer);
m_navigatorContainerInner = document.createElement("DIV");
m_navigatorContainerInner.className = "ReportControlNavigatorContainerInner";
m_navigatorContainerInner.style.display = "none";
m_navigatorContainer.appendChild(m_navigatorContainerInner);
m_navigatorContainerHelpMessage = document.createElement("DIV");
m_navigatorContainerHelpMessage.className = "ReportControlNavigatorContainerInner";
m_navigatorContainerHelpMessage.innerHTML = "To display/write a report for a student, click Select Students and select the required student.";
m_navigatorContainer.appendChild(m_navigatorContainerHelpMessage);
oImageContainer = document.createElement("SPAN");
oImageContainer.className = "ReportControlImageContainerL";
m_navigatorContainerInner.appendChild(oImageContainer);
m_navStartImageControl = document.createElement("IMG");
m_navStartImageControl.src = "images/start.gif"
m_navStartImageControl.height = "16";
m_navStartImageControl.width = "16";
m_navStartImageControl.className = "ReportControlImage";
m_navStartImageControl.title = "First";
m_navStartImageControl.onclick = m_navStart;
oImageContainer.appendChild(m_navStartImageControl);
oImageContainer = document.createElement("SPAN");
oImageContainer.className = "ReportControlImageContainerL";
m_navigatorContainerInner.appendChild(oImageContainer);
m_navPrevImageControl = document.createElement("IMG");
m_navPrevImageControl.src = "images/back.gif"
m_navPrevImageControl.height = "16";
m_navPrevImageControl.width = "16";
m_navPrevImageControl.className = "ReportControlImage";
m_navPrevImageControl.title = "Previous";
m_navPrevImageControl.onclick = m_navPrev;
oImageContainer.appendChild(m_navPrevImageControl);
/* 20070525: LUC: Query backend that takes into account archived flag. */
m_studentsList = new DropdownControl(m_navigatorContainerInner, "studentsforusergroup", "PK_Student", "FullName", false, false, false, false, 300)
oImageContainer = document.createElement("SPAN");
oImageContainer.className = "ReportControlImageContainerR";
m_navigatorContainerInner.appendChild(oImageContainer);
m_navNextImageControl = document.createElement("IMG");
m_navNextImageControl.src = "images/forward.gif"
m_navNextImageControl.height = "16";
m_navNextImageControl.width = "16";
m_navNextImageControl.className = "ReportControlImage";
m_navNextImageControl.title = "Next";
m_navNextImageControl.onclick = m_navNext;
oImageContainer.appendChild(m_navNextImageControl);
oImageContainer = document.createElement("SPAN");
oImageContainer.className = "ReportControlImageContainerR";
m_navigatorContainerInner.appendChild(oImageContainer);
m_navEndImageControl = document.createElement("IMG");
m_navEndImageControl.src = "images/end.gif"
m_navEndImageControl.height = "16";
m_navEndImageControl.width = "16";
m_navEndImageControl.className = "ReportControlImage";
m_navEndImageControl.title = "Last";
m_navEndImageControl.onclick = m_navEnd;
oImageContainer.appendChild(m_navEndImageControl);
if (m_showOverallStage == true) {
oStageContainer = document.createElement("DIV");
oStageContainer.className = "ReportControlStageContainer";
m_navigatorContainerInner.appendChild(oStageContainer);
oText = document.createElement("SPAN");
oText.innerHTML = "Stage: ";
oStageContainer.appendChild(oText);
m_stageDropdownControl = new DropdownControl(oStageContainer, "stages", "PK_Stage", "StageName", false, false, false, false, 100);
m_stageDropdownControl.OnRefreshComplete = m_stageDropdownControl_OnRefreshComplete;
m_stageDropdownControl.OnChange = m_stageDropdownControl_OnChange;
}
m_detailsContainer = document.createElement("DIV");
m_detailsContainer.className = "ReportControlDetailsContainer";
m_navigatorContainerInner.appendChild(m_detailsContainer);
oTD = document.createElement("TD");
oTR.appendChild(oTD);
m_actionsContainer = document.createElement("DIV");
m_actionsContainer.className = "ReportControlActionsContainerOuter";
oTD.appendChild(m_actionsContainer);
m_actionsContainerInner = document.createElement("DIV");
m_actionsContainerInner.className = "ReportControlActionsContainerInner";
m_actionsContainer.appendChild(m_actionsContainerInner);
oTable = document.createElement("TABLE");
oTable.width = "100%";
oTable.border = 0;
oTable.cellPadding = 0;
oTable.cellSpacing = 0;
m_container.appendChild(oTable);
oTBody = document.createElement("TBODY");
oTable.appendChild(oTBody);
oTR = document.createElement("TR");
oTBody.appendChild(oTR);
oTD = document.createElement("TD");
oTR.appendChild(oTD);
m_menuContainer = document.createElement("DIV");
m_menuContainer.id = "reportControlMenu";
m_menuContainer.className = "ReportControlMenuContainer";
oTD.appendChild(m_menuContainer);
oTR = document.createElement("TR");
oTBody.appendChild(oTR);
oTD = document.createElement("TD");
oTR.appendChild(oTD);
m_contentContainer = document.createElement("DIV");
m_contentContainer.id = "reportControlContent"
m_contentContainer.className = "ReportControlContentContainer";
oTD.appendChild(m_contentContainer);
m_menuControl = new MenuControl(m_menuContainer, m_contentContainer, 0);
if (NiftyCheck() == true) {
Rounded("div.ReportControlNavigatorContainerOuter", "all","#ffffff","#aaffaa");
Rounded("div.ReportControlActionsContainerOuter", "all","#ffffff","#ffffaa");
}
}
/* BEGIN NAVIGATION */
/* 20070525: LUC: Event now passes archived state. */
function m_setCurrentStudentSet(pLimitType, pPK, pPKSchool, pPKReportingPeriod, pPKStudent, pArchived)
{
var sParams;
m_navigatorContainerHelpMessage.style.display = "none";
m_navigatorContainerInner.style.display = "block";
m_limitType = pLimitType;
m_PK = pPK;
m_PKSchool = pPKSchool;
m_PKStudent = pPKStudent;
m_PKReportingPeriod = pPKReportingPeriod;
/* 20070525: LUC: Set archived state. */
m_Archived = pArchived;
/* 20070525: LUC: Send archived state. */
sParams = "LimitType=" + m_limitType + "&PK=" + m_PK + "&PK_School=" + m_PKSchool + "&PK_ReportingPeriod=" + m_PKReportingPeriod + "&Archived=" + (m_Archived == true ? "True" : "False") + "&PK_UserGroup=" + user.PK_UserGroup;
/* 20070525: LUC: Query backend that takes into account archived flag. */
m_cboListStudents.DoCallBackManual("studentsforusergroup", "list", sParams);
}
function m_cboListStudents_Complete(responseText, responseXML)
{
var sParams;
m_xmlStudentList = responseXML;
m_xmlCurrentStudent = m_findStudent();
m_setCurrentStudent(m_PKStudent);
/* 20070525: LUC: Send archived state. */
sParams = "LimitType=" + m_limitType + "&PK=" + m_PK + "&PK_School=" + m_PKSchool + "&PK_ReportingPeriod=" + m_PKReportingPeriod + "&Archived=" + (m_Archived == true ? "True" : "False") + "&PK_UserGroup=" + user.PK_UserGroup;
m_studentsList.Refresh(sParams);
}
m_studentsList.OnRefreshComplete = function()
{
m_studentsList.SetValue(m_PKStudent);
}
m_studentsList.OnChange = function(pValue)
{
if (pValue != m_PKStudent) {
m_PKStudent = pValue;
m_xmlCurrentStudent = m_findStudent();
m_setCurrentStudent(m_PKStudent);
}
}
function m_navStart()
{
var iPKStudent;
if (!m_xmlCurrentStudent) return;
m_xmlCurrentStudent = m_xmlCurrentStudent.parentNode.firstChild;
iPKStudent = m_xmlCurrentStudent.getAttribute("pk_student");
m_studentsList.SetValue(iPKStudent);
m_setCurrentStudent(iPKStudent);
}
function m_navPrev()
{
var iPKStudent;
if (!m_xmlCurrentStudent || !m_xmlCurrentStudent.previousSibling) return;
m_xmlCurrentStudent = m_xmlCurrentStudent.previousSibling;
iPKStudent = m_xmlCurrentStudent.getAttribute("pk_student");
m_studentsList.SetValue(iPKStudent);
m_setCurrentStudent(iPKStudent);
}
function m_navNext()
{
var iPKStudent;
if (!m_xmlCurrentStudent || !m_xmlCurrentStudent.nextSibling) return;
m_xmlCurrentStudent = m_xmlCurrentStudent.nextSibling;
iPKStudent = m_xmlCurrentStudent.getAttribute("pk_student");
m_studentsList.SetValue(iPKStudent);
m_setCurrentStudent(iPKStudent);
}
function m_navEnd()
{
var iPKStudent;
if (!m_xmlCurrentStudent) return;
m_xmlCurrentStudent = m_xmlCurrentStudent.parentNode.lastChild;
iPKStudent = m_xmlCurrentStudent.getAttribute("pk_student");
m_studentsList.SetValue(iPKStudent);
m_setCurrentStudent(iPKStudent);
}
/*END NAVIGATION*/
function m_setCurrentStudent(pPKStudent)
{
m_PKStudent = pPKStudent;
m_cboGetStudentReport.DoCallBackManual("studentreportingperiods", "get", "PK_Student=" + m_PKStudent + "&PK_ReportingPeriod=" + m_PKReportingPeriod);
}
function m_cboGetStudentReport_Complete(reponseText, responseXML)
{
var oXmlStudentReportingPeriod;
oXmlStudentReportingPeriod = responseXML.documentElement.firstChild;
m_PKStudentReportingPeriod = oXmlStudentReportingPeriod.getAttribute("pk_studentreportingperiod");
m_PKStage = oXmlStudentReportingPeriod.getAttribute("fk_stage");
m_PKGrade = oXmlStudentReportingPeriod.getAttribute("fk_grade");
m_stageName = oXmlStudentReportingPeriod.getAttribute("stagename");
m_isFinalisedByTeacher = oXmlStudentReportingPeriod.getAttribute("isfinalisedbyteacher");
m_isFinalisedByPrincipal = oXmlStudentReportingPeriod.getAttribute("isfinalisedbyprincipal");
m_isFinalisedByReviewer = oXmlStudentReportingPeriod.getAttribute("isfinalisedbyreviewer"); //Prime Learning
m_showTeacherComment = (oXmlStudentReportingPeriod.getAttribute("showteachercomment").toLowerCase() == "true");
m_showPrincipalComment = (oXmlStudentReportingPeriod.getAttribute("showprincipalcomment").toLowerCase() == "true");
m_studentFirstName = oXmlStudentReportingPeriod.getAttribute("firstname");
m_studentSurname = oXmlStudentReportingPeriod.getAttribute("surname");
m_studentGender = oXmlStudentReportingPeriod.getAttribute("gender");
m_teacherName = oXmlStudentReportingPeriod.getAttribute("teachername");
m_daysAbsent = oXmlStudentReportingPeriod.getAttribute("daysabsent");
m_showEffort = (oXmlStudentReportingPeriod.getAttribute("showeffort").toLowerCase() == 'true');
m_effort1 = oXmlStudentReportingPeriod.getAttribute("effort1");
m_effort2 = oXmlStudentReportingPeriod.getAttribute("effort2");
m_effort3 = oXmlStudentReportingPeriod.getAttribute("effort3");
m_effort4 = oXmlStudentReportingPeriod.getAttribute("effort4");
m_rankingOption = oXmlStudentReportingPeriod.getAttribute("rankingoption");
m_showQuantitativeAssessment = (oXmlStudentReportingPeriod.getAttribute("showquantitativeassessment").toLowerCase() == "true");
m_reportIsFromCurrentReportingPeriod = oXmlStudentReportingPeriod.getAttribute("reportisfromcurrentreportingperiod");
//Prime Learning
m_scaleOverride = (oXmlStudentReportingPeriod.getAttribute("usescaleoverride").toLowerCase() == 'true');
m_PKReportTemplate = oXmlStudentReportingPeriod.getAttribute("fk_reporttemplate");
m_reportTemplatePaperSize = oXmlStudentReportingPeriod.getAttribute("reporttemplatepapersize");
m_reportTemplateFontName = oXmlStudentReportingPeriod.getAttribute("reporttemplatefontname");
m_reportTemplateCommentJustification = oXmlStudentReportingPeriod.getAttribute("reporttemplatecommentjustification");
m_showAchievementContinuum = (oXmlStudentReportingPeriod.getAttribute("showachievementcontinuum").toLowerCase() == "true");
m_achievementContinuum1 = oXmlStudentReportingPeriod.getAttribute("achievementcontinuum1");
m_achievementContinuum2 = oXmlStudentReportingPeriod.getAttribute("achievementcontinuum2");
m_achievementContinuum3 = oXmlStudentReportingPeriod.getAttribute("achievementcontinuum3");
m_achievementContinuum4 = oXmlStudentReportingPeriod.getAttribute("achievementcontinuum4");
m_achievementContinuum5 = oXmlStudentReportingPeriod.getAttribute("achievementcontinuum5");
if (systemSettings.UseSchoolConfiguredComments.toLowerCase() == 'true')
{
/* Parramatta - comments are chosen by school, and max lengths enforced */
m_showSubjectComments = (oXmlStudentReportingPeriod.getAttribute("showsubjectcomments").toLowerCase() == "true");
m_subjectCommentMaxLength = oXmlStudentReportingPeriod.getAttribute("subjectcommentmaxlength");
m_teacherCommentMaxLength = oXmlStudentReportingPeriod.getAttribute("teachercommentmaxlength");
m_principalCommentMaxLength = oXmlStudentReportingPeriod.getAttribute("principalcommentmaxlength");
} else {
/* Canberra Goulburn - fix max lengths*/
m_showSubjectComments = true;
m_subjectCommentMaxLength = 500; /* 20070928: CG10: Changed from 300 t0 350 characters.*/
m_teacherCommentMaxLength = 500;
m_principalCommentMaxLength = 500;
}
if (m_useSchoolBastedStrandAchievementLevels == true)
{
//Prime Learning 30/03/2007
// depending the Kinder Scale display 3 or 5 levels
m_strandAchievementLevels = m_achievementContinuum1;
m_strandAchievementLevels += "|" + m_achievementContinuum2;
m_strandAchievementLevels += "|" + m_achievementContinuum3;
//dont display these if kinder scale is 3
//if(!m_scaleOverride){
m_strandAchievementLevels += "|" + m_achievementContinuum4;
m_strandAchievementLevels += "|" + m_achievementContinuum5;
//}
}
m_detailsContainer.innerHTML = "
School: " + oXmlStudentReportingPeriod.getAttribute("schoolname")
+ "
Class: " + oXmlStudentReportingPeriod.getAttribute("schoolclassname")
+ "
Reporting Period: " + oXmlStudentReportingPeriod.getAttribute("reportingperiodname") + ""
+ "
Teacher Name: " + oXmlStudentReportingPeriod.getAttribute("teachername") + "";
m_cboListReportSubjects.DoCallBackManual("reportsubjects_sort_ex", "list", "PK_School=" + m_PKSchool + "&PK_Grade=" + m_PKGrade);
}
function m_cboListReportSubjects_Complete(responseText, responseXML)
{
m_xmlSubjectsList = responseXML;
m_cboListReportLists.DoCallBackManual("reportlists", "list", "PK_StudentReportingPeriod=" + m_PKStudentReportingPeriod);
}
function m_cboListReportLists_Complete(responseText, responseXML)
{
m_xmlListsList = responseXML;
if (m_showOverallStage == true) {
m_stageDropdownControl.Refresh();
}
m_loadReportSubjects();
m_renderActions();
}
function m_stageDropdownControl_OnRefreshComplete()
{
if (m_showOverallStage == true) {
this.SetValue(m_PKStage);
}
}
function m_stageDropdownControl_OnChange(pPKStage)
{
var m_PKStageOld = m_PKStage;
var i;
var bReplace = false;
if (m_showOverallStage == true) {
m_PKStage = pPKStage;
m_cboSetStage.DoCallBackManual("studentreportingperiodstage", "set", "PK_StudentReportingPeriod=" + m_PKStudentReportingPeriod + "&Value=" + m_PKStage);
if ((typeof m_subjectControls != "undefined") && (m_subjectControls != null)) {
if (m_PKStageOld != pPKStage) {
bReplace = confirm("Would you like to replace the current Teacher Comment for EACH SUBJECT with the default for this stage?")
}
for(i=0;i < m_subjectControls.length; i++) {
if (m_subjectControls[i].SetStage)
m_subjectControls[i].SetStage(pPKStage, m_stageDropdownControl.GetText(), bReplace);
}
}
}
}
function m_cboSetStage_Complete(responseText, responseXML)
{
// success
}
function m_loadReportSubjects()
{
var oXmlSubject = null;
var oSubjectControl = null;
var oSubjectContent = null;
var oListContent = null;
var oListControl = null;
var oXmlList = null;
var iPKSubject;
var iPKStudentReportingPeriodSchoolList;
var i = 0;
var iCount = 0;
var bShowOverallAchievement = false;
var bShowSchoolQuartile = false;
var bShowGradeNumbers = false;
var bUseBinaryScale = false;
var sListItemName = null;
var o;
/* Cleanup controls */
if (m_subjectControls)
{
o = m_subjectControls.pop();
while(o)
{
if (o.Finalise) {
o.Finalise();
}
o = m_subjectControls.pop()
}
}
m_subjectControls = null;
m_contentContainer.innerHTML = '';
m_menuControl.ClearAll();
/* Count the number of subjects */
oXmlSubject = m_xmlSubjectsList.documentElement.firstChild;
while(oXmlSubject != null){
iCount ++;
oXmlSubject = oXmlSubject.nextSibling;
}
m_subjectControls = new Array(iCount);
oXmlSubject = m_xmlSubjectsList.documentElement.firstChild;
while(oXmlSubject != null){
oSubjectContent = document.createElement("DIV");
oSubjectContent.id = "reportControlContent_" + i;
m_contentContainer.appendChild(oSubjectContent);
iPKSubject = oXmlSubject.getAttribute("pk_subject");
/*Kinders don't get quantative assessment*/
if (m_showQuantitativeAssessment == false)
{
bShowOverallAchievement = false;
bShowSchoolQuartile = false;
bShowGradeNumbers = false;
} else {
bShowOverallAchievement = true; // always shown now
switch(m_rankingOption + "")
{
case "1": // Grade numbers
if (systemSettings.ShowCohortCounts.toLowerCase() == "true")
{
bShowGradeNumbers = true;
} else {
bShowGradeNumbers = false;
}
break;
case "2": // Quartile
bShowSchoolQuartile = true;
break;
}
}
oSubjectControl = new ReportSubjectControl(oSubjectContent, iPKSubject, m_PKStudentReportingPeriod, m_PKStage, m_stageName, bShowOverallAchievement, bShowSchoolQuartile, m_subjectQuartiles, m_strandAchievementLevels, m_showEffort, m_effort1, m_effort2, m_effort3, m_effort4, bShowGradeNumbers, m_showAchievementContinuum, m_showSubjectComments, m_subjectCommentMaxLength, m_scaleOverride);
m_subjectControls[i] = oSubjectControl;
m_menuControl.AddMenuItem(i, oXmlSubject.getAttribute("abbreviatedname"), 50)
i++;
oXmlSubject = oXmlSubject.nextSibling;
}
if (systemSettings.UseNewLists.toLowerCase() == "true")
{
oXmlList = m_xmlListsList.documentElement.firstChild;
while(oXmlList != null) {
oListContent = document.createElement("DIV");
oListContent.id = "reportControlContent_" + i;
m_contentContainer.appendChild(oListContent);
iPKStudentReportingPeriodSchoolList = oXmlList.getAttribute("pk_studentreportingperiodschoollist");
sListItemName = oXmlList.getAttribute("listitemname");
bUseBinaryScale = (oXmlList.getAttribute("usebinaryscale").toLowerCase() == "true");
oListControl = new ReportSchoolListControl(oListContent, iPKStudentReportingPeriodSchoolList, bUseBinaryScale, sListItemName);
m_subjectControls.push(oListControl);
m_menuControl.AddMenuItem(i, oXmlList.getAttribute("listabbreviatedname"), 50)
i++;
oXmlList = oXmlList.nextSibling;
}
} else {
var oSchoolActivitiesControl = null;
var oSchoolActivitiesContent = null;
oSchoolActivitiesContent = document.createElement("DIV");
oSchoolActivitiesContent.id = "reportControlContent_" + i;
m_contentContainer.appendChild(oSchoolActivitiesContent);
oSchoolActivitiesControl = new ReportSchoolActivitiesControl(oSchoolActivitiesContent, m_PKStudentReportingPeriod);
m_subjectControls[i] = oSchoolActivitiesControl;
m_menuControl.AddMenuItem(i, systemSettings.ActivitiesName, 120)
i++;
////////////////////
//covers SEL
/*
var oSchoolValuesControl = null;
var oSchoolValuesContent = null;
oSchoolValuesContent = document.createElement("DIV");
oSchoolValuesContent.id = "reportControlContent_" + i;
m_contentContainer.appendChild(oSchoolValuesContent);
oSchoolValuesControl = new ReportSchoolValuesControl(oSchoolValuesContent, m_PKStudentReportingPeriod, m_schoolValuesAchievementLevels);
m_subjectControls[i] = oSchoolValuesControl;
m_menuControl.AddMenuItem(i, systemSettings.ValuesName, 90)
i++; //rx ??
*/
/////////////////////////////////////
//covers SEL
var oSchoolValuesControl = null;
var oSchoolValuesContent = null;
oSchoolValuesContent = document.createElement("DIV");
oSchoolValuesContent.id = "reportControlContent_" + i;
m_contentContainer.appendChild(oSchoolValuesContent);
oSchoolValuesControl = new ReportSchoolValuesControl(oSchoolValuesContent, m_PKStudentReportingPeriod, m_schoolValuesAchievementLevels);
m_subjectControls[i] = oSchoolValuesControl;
if (systemSettings.ValuesName == "Social Emotional Learning")
{
m_menuControl.AddMenuItem(i, "SEL", 90)
}else{
m_menuControl.AddMenuItem(i, systemSettings.ValuesName, 90)
}
i++; //rx ??
/////////////////
///////////// for work habits & behaviour
/*
var oSchoolBehavioursControl = null;
var oSchoolBehavioursContent = null;
oSchoolBehavioursContent = document.createElement("DIV");
oSchoolBehavioursContent.id = "reportControlContent_" + i;
m_contentContainer.appendChild(oSchoolBehavioursContent);
oSchoolBehavioursControl = new ReportSchoolBehavioursControl(oSchoolBehavioursContent, m_PKStudentReportingPeriod, m_schoolBehavioursAchievementLevels);
m_subjectControls[i] = oSchoolBehavioursControl;
m_menuControl.AddMenuItem(i, systemSettings.LearningBehavioursName, 90)
i++;
*/
///////////// for work habits & behaviour
///////////// for work habits & behaviour
var oSchoolBehavioursControl = null;
var oSchoolBehavioursContent = null;
oSchoolBehavioursContent = document.createElement("DIV");
oSchoolBehavioursContent.id = "reportControlContent_" + i;
m_contentContainer.appendChild(oSchoolBehavioursContent);
oSchoolBehavioursControl = new ReportSchoolBehavioursControl(oSchoolBehavioursContent, m_PKStudentReportingPeriod, m_schoolBehavioursAchievementLevels);
m_subjectControls[i] = oSchoolBehavioursControl;
if (systemSettings.LearningBehavioursName == "Work Habits and Behaviour")
{
m_menuControl.AddMenuItem(i, "WH & B", 90)
}else{
m_menuControl.AddMenuItem(i, systemSettings.LearningBehavioursName, 90)
}
i++;
///////////// for work habits & behaviour
}
var oTeacherCommentContent = null;
if (m_showTeacherComment == true)
{
oTeacherCommentContent = document.createElement("DIV");
oTeacherCommentContent.id = "reportControlContent_" + i;
m_contentContainer.appendChild(oTeacherCommentContent);
oTeacherCommentControl = new ReportCommentControl(oTeacherCommentContent, m_PKStudentReportingPeriod, 'studentreportingperiodteachercomment', 'Teacher Comment', m_teacherCommentMaxLength);
m_subjectControls[i] = oTeacherCommentControl;
m_menuControl.AddMenuItem(i, "Teacher Comment", 90)
i++;
}
var oPrincipalCommentContent = null;
if (m_showPrincipalComment == true)
{
oPrincipalCommentContent = document.createElement("DIV");
oPrincipalCommentContent.id = "reportControlContent_" + i;
m_contentContainer.appendChild(oPrincipalCommentContent);
oPrincipalCommentControl = new ReportCommentControl(oPrincipalCommentContent, m_PKStudentReportingPeriod, 'studentreportingperiodprincipalcomment', 'Principal Comment', m_principalCommentMaxLength);
m_subjectControls[i] = oPrincipalCommentControl;
m_menuControl.AddMenuItem(i, "Principal Comment", 90)
i++;
}
var oReportMiscellaneousControl = null;
var oReportMiscellaneousContent = null
oReportMiscellaneousContent = document.createElement("DIV");
oReportMiscellaneousContent.id = "reportControlContent_" + i;
m_contentContainer.appendChild(oReportMiscellaneousContent);
oReportMiscellaneousControl = new ReportMiscellaneousControl(oReportMiscellaneousContent, m_PKStudentReportingPeriod, m_daysAbsent);
m_subjectControls[i] = oReportMiscellaneousControl;
m_menuControl.AddMenuItem(i, "Days Absent", 90)
i++;
m_menuControl.InitialiseMenu();
m_menuControl.SelectMenuItem(m_currentSubject);
m_computeEnabledState();
}
m_menuControl.OnSelectMenuItem = function(pID)
{
m_currentSubject = pID;
}
function m_findStudent()
{
var oXmlStudent;
oXmlStudent = m_xmlStudentList.documentElement.firstChild;
while(oXmlStudent != null){
if (oXmlStudent.getAttribute("pk_student") == m_PKStudent) {
return oXmlStudent;
}
oXmlStudent = oXmlStudent.nextSibling;
}
return null;
}
function m_renderActions()
{
var oLink;
var oText;
var oFinalised;
var oReportDescription;
oReportDescription = m_reportTemplatePaperSize + ' | ' + m_reportTemplateFontName + ' | ' + m_reportTemplateCommentJustification;
m_actionsContainerInner.innerHTML = "";
oLink = document.createElement("A");
oLink.className = "ReportControlActionLink";
oLink.target = "_new";
oLink.href = "reports/report.aspx?pk=" + m_PKStudentReportingPeriod + "&pk_reporttemplate=" + m_PKReportTemplate;
oLink.innerHTML = "Print Report";
oLink.title = oReportDescription;
m_actionsContainerInner.appendChild(oLink);
if (m_showViewXMLOption == true)
{
oLink = document.createElement("A");
oLink.className = "ReportControlActionLink";
oLink.target = "_new";
oLink.href = "Report.Asp?xml=true&pk=" + m_PKStudentReportingPeriod;
oLink.innerHTML = "View XML";
m_actionsContainerInner.appendChild(oLink);
}
m_actionsContainerInner.appendChild(document.createElement("BR"));
oFinalised = new BooleanToggleControl(m_actionsContainerInner, "studentreportingperiodfinalisedteacher", "set", "PK_StudentReportingPeriod", m_PKStudentReportingPeriod, m_isFinalisedByTeacher)
oFinalised.SetDisabled(!m_allowTeacherFinalise);
oText = document.createElement("SPAN");
oText.innerHTML = "this report is finalised (Teacher)";
m_actionsContainerInner.appendChild(oText);
m_actionsContainerInner.appendChild(document.createElement("BR"));
oFinalised = new BooleanToggleControl(m_actionsContainerInner, "studentreportingperiodfinalisedprincipal", "set", "PK_StudentReportingPeriod", m_PKStudentReportingPeriod, m_isFinalisedByPrincipal)
oFinalised.SetDisabled(!m_allowPrincipalFinalise);
oText = document.createElement("SPAN");
oText.innerHTML = "this report is finalised (Principal)";
m_actionsContainerInner.appendChild(oText);
m_actionsContainerInner.appendChild(document.createElement("BR"));
//Prime Learning
oFinalised = new BooleanToggleControl(m_actionsContainerInner, "studentreportingperiodfinalisedreviewer", "set", "PK_StudentReportingPeriod", m_PKStudentReportingPeriod, m_isFinalisedByReviewer)
oFinalised.SetDisabled(!m_allowReviewerFinalise);
oText = document.createElement("SPAN");
oText.innerHTML = "this report is finalised (Reviewer)";
m_actionsContainerInner.appendChild(oText);
m_actionsContainerInner.appendChild(document.createElement("BR"));
}
function m_computeEnabledState()
{
var bEnabled = true;
var bFinalisedByPrincipal = (m_isFinalisedByPrincipal.toLowerCase() == 'true')
var bReportIsFromCurrentReportingPeriod = (m_reportIsFromCurrentReportingPeriod.toLowerCase() == 'true')
if ((m_allowModifyReportsFinalisedByPrincipal == false) && (bFinalisedByPrincipal == true))
{
bEnabled = false;
}
if ((m_allowModifyArchivedReports == false) && (bReportIsFromCurrentReportingPeriod == false))
{
bEnabled = false;
}
m_setEnabled(bEnabled);
}
function m_setEnabled(pbEnabled)
{
var i, o;
if (!m_subjectControls) return;
for(i=0; i=33) && (num <=47)) { return true; }
if ((num >=58) && (num <=64)) { return true; }
if ((num >=91) && (num <=96)) { return true; }
if ((num >=123) && (num <=126)) { return true; }
return false;
}
}
function GlobalSubjectsSortControl(pContainer)
{
var self = this;
var m_container = pContainer;
var m_newDataOrder = null;
var m_sortOrderCounter = 0;
var m_schoolsList = null;
var m_sortOrderControl = null;
var m_sortOrderContainer = null;
var m_saveButtonControl = null;
var m_configureLockControl = null;
var m_lockContainer = null;
var m_contentContainer = null;
this.Refresh = m_refresh;
var m_cboList = new CallBackObject();
m_cboList.OnComplete = m_cboList_Complete;
m_cboList.OnError = m_cboGeneric_Error;
var m_cboUpdate = new CallBackObject();
m_cboUpdate.OnComplete = m_cboUpdate_Complete;
m_cboUpdate.OnError = m_cboGeneric_Error;
m_initialise();
function m_initialise()
{
var oText;
m_lockContainer = document.createElement("DIV");
m_container.appendChild(m_lockContainer);
m_contentContainer = document.createElement("DIV");
m_container.appendChild(m_contentContainer);
oText = document.createElement("DIV");
oText.className = "SubjectsSortControlHelpText";
oText.innerHTML = "Click on the subject you wish to relocate in the list below.
Use the Up/Down buttons to relocate the subject.
Click Save Changes when you are done.";
m_contentContainer.appendChild(oText);
m_sortOrderContainer = document.createElement("DIV");
m_sortOrderContainer.className = "SubjectSortOrderListContainer";
m_contentContainer.appendChild(m_sortOrderContainer);
m_saveButtonControl = new ButtonControl(m_contentContainer, "Save Changes");
m_saveButtonControl.OnClick = m_saveButtonControl_OnClick;
m_loadList();
}
function m_refresh()
{
m_loadList();
}
function m_loadList()
{
m_contentContainer.style.display = "none";
m_lockContainer.innerHTML = "";
m_configureLockControl = new ConfigureLockControl(m_lockContainer, 1);
m_configureLockControl.OnComplete = m_configureLockControl_OnComplete;
}
function m_configureLockControl_OnComplete(pbLocked)
{
if (!pbLocked) {
m_contentContainer.style.display = "block";
m_cboList.DoCallBackManual("subjects_sort", "list", '');
}
}
function m_cboList_Complete(responseText, responseXML)
{
var xml = responseXML.lastChild.firstChild;
var a = new Array();
var o = null;
while(xml != null) {
o = new Object();
o.ItemName = xml.getAttribute("subjectname");
o.PKItem = xml.getAttribute("pk_subject");
a.push(o);
xml = xml.nextSibling;
}
m_sortOrderContainer.innerHTML = "";
m_sortOrderControl = new SortOrderControl(m_sortOrderContainer, a);
}
function m_cboGeneric_Error(status, statusText, responseText)
{
ShowDebugWindow(responseText);
}
function m_saveButtonControl_OnClick()
{
m_newDataOrder = m_sortOrderControl.GetData();
m_sortOrderCounter = 0;
m_update();
}
function m_update()
{
var o;
var params;
if (m_newDataOrder == null) {
alert("Error saving changes to sort order");
return;
}
if (m_sortOrderCounter >= m_newDataOrder.length) {
alert("Changes to sort order saved");
m_sortOrderCounter = 0
m_newDataOrder = null;
return;
}
o = m_newDataOrder[m_sortOrderCounter];
params = "PK_Subject=" + o.PKItem + "&SortOrder=" + m_sortOrderCounter;
m_cboUpdate.DoCallBackManual("subjects_sort", "set", params);
m_sortOrderCounter++;
}
function m_cboUpdate_Complete(responseText, responseXML)
{
m_update();
}
}
function HTMLColor(pContainer, pID, pObjectIdentifier, pActionIdentifier, pObjectPKName, pObjectPKValue, pValue, pWidth, pMaxLength, pTitle)
{
var self = this;
var m_container = pContainer;
var m_objectIdentifier = pObjectIdentifier;
var m_actionIdentifier = pActionIdentifier;
var m_objectPKName = pObjectPKName;
var m_objectPKValue = pObjectPKValue;
var m_value = pValue;
var m_width = pWidth;
var m_maxLength = pMaxLength;
var m_title = pTitle;
var m_id = pID;
var m_titleControl = null;
var m_textControl = null;
var m_cboSave = new CallBackObject();
m_cboSave.OnComplete = m_cboSave_Complete;
m_cboSave.OnError = m_cboGeneric_Error;
this.OnTextSaved = null; // function OnTextSaved(pValue)
this.SetEnabled = m_setEnabled;
this.SetFocus = m_setFocus;
m_initialise();
function m_initialise(){
if (m_title)
{
m_titleControl = document.createElement("DIV");
m_titleControl.className = "TextControlLabel";
m_titleControl.innerHTML = m_title + ": ";
m_container.appendChild(m_titleControl);
}
if (!m_maxLength)
{
m_maxLength = 255;
}
m_textControl = document.createElement("INPUT");
m_textControl.name = m_id;
m_textControl.id = m_id;
m_textControl.type = "text";
m_textControl.value = m_value;
m_textControl.onblur = m_save;
m_textControl.className = "TextControlTextControl";
m_textControl.maxLength = m_maxLength;
if (m_width) m_textControl.style.width = m_width + "px";
m_container.appendChild(m_textControl);
m_color_link = document.createElement("SPAN");
tmp_aaa = document.getElementById(m_id);
m_color_link.innerHTML = "
";
m_container.appendChild(m_color_link);
}
function m_save()
{
m_cboSave.DoCallBackManual(m_objectIdentifier, m_actionIdentifier, m_objectPKName + "=" + m_objectPKValue + "&Value=" + escape(this.value));
this.disabled = true;
}
function m_cboSave_Complete(responseText, responseXML)
{
m_textControl.disabled = false;
if (self.OnTextSaved) {
self.OnTextSaved(m_textControl.value);
}
}
function m_cboGeneric_Error(status, statusText, responseText)
{
m_textControl.disabled = false;
ShowDebugWindow(responseText);
}
function m_setEnabled(pEnabled)
{
m_textControl.disabled = !pEnabled;
}
function m_setFocus()
{
//m_textControl.focus();
m_textControl.select();
}
}
function ImportControl(pContainer)
{
var self = this;
var m_container = pContainer;
var m_PKImportUpload = null;
var m_bESchoolImport = (systemSettings.UseEschoolImport.toLowerCase() == "true");
var m_uploadPane = null;
var m_loadingPane = null;
var m_mapSchoolsPane = null;
var m_mapSchoolClassesPane = null;
var m_updateStudentsPane = null;
var m_addStudentsPane = null;
var m_deleteStudentsPane = null;
var m_confirmImportPane = null;
var m_importDonePane = null;
var m_optionsContainer = null;
var m_restartButton = null;
var m_uploadControl = null;
var m_importSourcesList = null;
var m_schoolList = null;
var m_schoolClassesList = null;
var m_updateList = null;
var m_addList = null;
var m_deleteList = null;
var m_cboExecuteImport = new CallBackObject();
m_cboExecuteImport.OnComplete = m_cboExecuteImport_Complete;
m_cboExecuteImport.OnError = m_cboGeneric_Error;
var m_cboGetUnmappedSchoolCount = new CallBackObject();
m_cboGetUnmappedSchoolCount.OnComplete = m_cboGetUnmappedSchoolCount_Complete;
m_cboGetUnmappedSchoolCount.OnError = m_cboGeneric_Error;
var m_cboGetUnmappedSchoolClassCount = new CallBackObject();
m_cboGetUnmappedSchoolClassCount.OnComplete = m_cboGetUnmappedSchoolClassCount_Complete;
m_cboGetUnmappedSchoolClassCount.OnError = m_cboGeneric_Error;
var m_cboExecuteImportMerge = new CallBackObject();
m_cboExecuteImportMerge.OnComplete = m_cboExecuteImportMerge_Complete;
m_cboExecuteImportMerge.OnError = m_cboGeneric_Error;
this.UploadComplete = m_uploadComplete;
m_intialise();
function m_intialise()
{
m_optionsContainer = document.createElement("DIV")
m_optionsContainer.className = "ImportControlOptionsContainer";
m_container.appendChild(m_optionsContainer);
m_restartButton = document.createElement("INPUT");
m_restartButton.type = "button";
m_restartButton.className = "FlatButton";
m_restartButton.value = "Restart Import";
m_restartButton.onclick = m_restartButton_OnClick;
m_optionsContainer.appendChild(m_restartButton);
m_container.appendChild(document.createElement("HR"));
/*Show next button only for ESchool import*/
m_uploadPane = new PaneControl(m_container, m_bESchoolImport);
m_uploadPane.SetTitle("1. Upload Import File");
if (m_bESchoolImport == true)
{
m_uploadPane.SetHelpText("Select the networks paths you wish to import from.");
m_uploadPane.OnClickNextButton = m_uploadPane_OnClickNextButton;
m_importSourcesList = new ListViewControl(m_uploadPane.GetContainer(), "importsources", "PK_ImportSource", "Active|NetworkPath|SchoolClassExclusions", "_Active|Network Path|Exclude School Classes", "50|400|300", 750, 400, false, false);
m_importSourcesList.OnCellRender = m_importSourcesList_OnCellRender;
m_importSourcesList.RefreshList();
} else {
m_uploadPane.SetHelpText("Select a CSV upload file and click Upload.");
m_uploadControl = new UploadControl(m_uploadPane.GetContainer(), "importfile", null, "importFileUploadControlFrame");
}
m_loadingPane = new PaneControl(m_container);
m_loadingPane.SetTitle("2. Processing... PLEASE WAIT ...");
m_loadingPane.SetHelpText("The system is processing the uploaded import file. PLEASE WAIT ...");
m_loadingPane.Hide();
m_mapSchoolsPane = new PaneControl(m_container, true);
m_mapSchoolsPane.SetTitle("3. Map Schools");
m_mapSchoolsPane.SetHelpText("Map all schools in the import file (left column) to schools in the reporting system (right column).");
m_mapSchoolsPane.OnClickNextButton = m_mapSchoolsPane_OnClickNextButton;
m_mapSchoolsPane.Hide();
m_schoolList = new ListViewControl(m_mapSchoolsPane.GetContainer(), "importschools", "SchoolName", "SchoolName|FK_School", "School Name|Mapping", "300|400", 700, 200, false);
m_schoolList.OnCellRender = m_schoolList_OnCellRender;
m_mapSchoolClassesPane = new PaneControl(m_container, true);
m_mapSchoolClassesPane.SetTitle("4. Map School Classes");
m_mapSchoolClassesPane.SetHelpText("Map all school classes (left pane) to school classes in the system (right pane).");
m_mapSchoolClassesPane.OnClickNextButton = m_mapSchoolClassesPane_OnClickNextButton;
m_mapSchoolClassesPane.Hide();
m_schoolClassesList = new ListViewControl(m_mapSchoolClassesPane.GetContainer(), "importschoolclasses", "PK_School_SchoolClassName", "SchoolName|SchoolClassName|FK_SchoolClass", "School Name|_Class Name|Mapping", "300|200|300", 800, 200, false);
m_schoolClassesList.OnCellRender = m_schoolClassesList_OnCellRender;
m_updateStudentsPane = new PaneControl(m_container, true);
m_updateStudentsPane.SetTitle("5. Update Students");
m_updateStudentsPane.SetHelpText("The following students will be updated:");
m_updateStudentsPane.OnClickNextButton = m_updateStudentsPane_OnClickNextButton;
m_updateStudentsPane.Hide();
m_updateList = new ListViewControl(m_updateStudentsPane.GetContainer(), "importupdatestudents", "PK_ImportStudent", "StudentNumberMux|FirstNameMux|SurnameMux|GenderMux|SchoolNameMux|SchoolClassNameMux|GradeNameMux|DateOfBirthMux", "_Student Number|First Name|Surname|_Gender|_School|_Class|_Grade|_Date Of Birth", "100|150|150|80|200|80|80|100", 960, 400, false, true);
m_updateList.OnCellRender = m_updateList_OnCellRender;
m_addStudentsPane = new PaneControl(m_container, true);
m_addStudentsPane.SetTitle("6. Add Students");
m_addStudentsPane.SetHelpText("The following students will be added:");
m_addStudentsPane.OnClickNextButton = m_addStudentsPane_OnClickNextButton;
m_addStudentsPane.Hide();
m_addList = new ListViewControl(m_addStudentsPane.GetContainer(), "importaddstudents", "PK_ImportStudent", "StudentNumber|FirstName|Surname|Gender|SchoolName|SchoolClassName|GradeName", "_Student Number|First Name|Surname|_Gender|_School|_Class|_Grade", "100|150|150|80|200|80|80", 860, 400, false, true);
m_deleteStudentsPane = new PaneControl(m_container, true);
m_deleteStudentsPane.SetTitle("7. Archive Students");
m_deleteStudentsPane.SetHelpText("The following students will be archived because they cannot be found in the import set:");
m_deleteStudentsPane.OnClickNextButton = m_deleteStudentsPane_OnClickNextButton;
m_deleteStudentsPane.Hide();
m_deleteList = new ListViewControl(m_deleteStudentsPane.GetContainer(), "importdeletestudents", "PK_Student", "StudentNumber|FirstName|Surname|Gender|SchoolName|SchoolClassName|GradeName", "_Student Number|First Name|Surname|_Gender|_School|_Class|_Grade", "100|150|150|80|200|80|80", 860, 400, false, true);
m_confirmImportPane = new PaneControl(m_container, true);
m_confirmImportPane.SetTitle("8. Confirm Import");
m_confirmImportPane.SetHelpText("Click Next to perform the import.");
m_confirmImportPane.OnClickNextButton = m_confirmImportPane_OnClickNextButton;
m_confirmImportPane.Hide();
m_importDonePane = new PaneControl(m_container, true);
m_importDonePane.SetTitle("8. Import Complete");
m_importDonePane.SetHelpText("The import process is complete. Please log off and login again to check the results of the import.
Click Next to commence a new import.");
m_importDonePane.OnClickNextButton = m_importDonePane_OnClickNextButton;
m_importDonePane.Hide();
}
function m_restartButton_OnClick()
{
m_restartImport();
}
function m_restartImport()
{
if (confirm("Are you sure you want to restart the import process?") == false) {
return;
}
m_loadingPane.Hide();
m_mapSchoolsPane.Hide();
m_mapSchoolClassesPane.Hide();
m_updateStudentsPane.Hide();
m_addStudentsPane.Hide();
m_deleteStudentsPane.Hide();
m_confirmImportPane.Hide();
m_importDonePane.Hide();
m_uploadPane.Show();
}
function m_importSourcesList_OnCellRender(pPKObject, pColumnIdentifier, pValue, pCellTD)
{
if (pColumnIdentifier == 'active')
{
new BooleanToggleControl(pCellTD, "importsource_active", "set", "PK_ImportSource", pPKObject, pValue, null, false);
return true;
}
else if (pColumnIdentifier == 'networkpath')
{
new TextControl(pCellTD, "importsource_networkpath", "set", "PK_ImportSource", pPKObject, pValue, 350, 255, null);
return true;
}
else if (pColumnIdentifier == 'schoolclassexclusions')
{
new TextControl(pCellTD, "importsource_schoolclassexclusions", "set", "PK_ImportSource", pPKObject, pValue, 150, 255, null);
return true;
}
return false;
}
/* Only called when using E-School Import */
function m_uploadPane_OnClickNextButton()
{
m_uploadPane.Hide();
m_loadEschoolData();
}
function m_uploadComplete(pPK_ImportUpload)
{
m_PKImportUpload = pPK_ImportUpload;
m_uploadPane.Hide();
m_loadFile();
}
function m_loadEschoolData()
{
m_loadingPane.Show();
m_cboExecuteImport.DoCallBackManual("importeschool", "execute", '');
}
function m_loadFile()
{
m_loadingPane.Show();
m_cboExecuteImport.DoCallBackManual("import", "execute", "PK_ImportUpload=" + m_PKImportUpload);
}
function m_cboExecuteImport_Complete(responseText, responseXML)
{
m_loadingPane.Hide();
m_mapSchools();
}
function m_mapSchools()
{
m_mapSchoolsPane.Show();
m_schoolList.RefreshList();
}
function m_schoolList_OnCellRender(pSchoolName, pColumnIdentifier, pValue, pContainer)
{
var o;
if (pColumnIdentifier == "fk_school") {
o = new DropdownControl(pContainer, "importschool", "PK_School", "SchoolName", true, false, false, false, 380, true, "ImportSchoolName", pSchoolName, true, false, null, false, pSchoolName); if (pValue.length > 0) o.SetValue(pValue);
o.Refresh();
return true;
}
return false;
}
function m_mapSchoolsPane_OnClickNextButton()
{
m_cboGetUnmappedSchoolCount.DoCallBackManual("importunmappedschoolcount", "get", '');
}
function m_cboGetUnmappedSchoolCount_Complete(responseText, responseXML)
{
var iUnmappedCount = responseXML.documentElement.firstChild.getAttribute("unmappedcount");
if (iUnmappedCount > 0) {
alert(iUnmappedCount + " school(s) is/are currently unmapped.\n\nPlease map it/them and click Next again.");
return;
}
m_mapSchoolsPane.Hide();
m_mapSchoolClasses();
}
function m_mapSchoolClasses()
{
m_mapSchoolClassesPane.Show();
m_schoolClassesList.RefreshList();
}
function m_schoolClassesList_OnCellRender(pPK_School_SchoolClassName, pColumnIdentifier, pValue, pContainer)
{
var o;
var sPK_School;
var sSchoolClassName;
var a;
a = pPK_School_SchoolClassName.split("|", 2);
sPK_School = a[0];
sSchoolClassName = a[1];
if (pColumnIdentifier == "fk_schoolclass") {
o = new DropdownControl(pContainer, "importschoolclass", "PK_SchoolClass", "SchoolClassName", true, false, false, false, 280, true, "ImportSchoolClassName", pPK_School_SchoolClassName, true, "PK_School=" + sPK_School, null, false, sSchoolClassName, true);
if (pValue.length > 0) o.SetValue(pValue);
o.Refresh("PK_School=" + sPK_School);
return true;
}
return false;
}
function m_mapSchoolClassesPane_OnClickNextButton()
{
m_cboGetUnmappedSchoolClassCount.DoCallBackManual("importunmappedschoolclasscount", "get", '');
}
function m_cboGetUnmappedSchoolClassCount_Complete(responseText, responseXML)
{
var iUnmappedCount = responseXML.documentElement.firstChild.getAttribute("unmappedcount");
if (iUnmappedCount > 0) {
alert(iUnmappedCount + " school class(es) is/are currently unmapped.\n\nPlease map it/them and click Next again.");
return;
}
m_mapSchoolClassesPane.Hide();
m_updateStudents();
}
function m_updateStudents()
{
m_updateStudentsPane.Show();
m_updateList.RefreshList();
}
function m_updateList_OnCellRender(pPK_ImportStudent, pColumnIdentifier, pValue, pContainer)
{
pContainer.innerHTML = pValue.replace("->", "
");
return true;
}
function m_updateStudentsPane_OnClickNextButton()
{
m_updateStudentsPane.Hide();
m_addStudents();
}
function m_addStudents()
{
m_addStudentsPane.Show();
m_addList.RefreshList();
}
function m_addStudentsPane_OnClickNextButton()
{
m_addStudentsPane.Hide();
m_deleteStudents();
}
function m_deleteStudents()
{
m_deleteStudentsPane.Show();
m_deleteList.RefreshList();
}
function m_deleteStudentsPane_OnClickNextButton()
{
m_deleteStudentsPane.Hide();
m_confirmImportPane.Show();
}
function m_confirmImportPane_OnClickNextButton()
{
m_confirmImportPane.Hide();
m_doImport();
}
function m_doImport()
{
m_cboExecuteImportMerge.DoCallBackManual("importmerge_ex", "execute", "");
}
function m_cboExecuteImportMerge_Complete(responseText, responseXML)
{
m_importDonePane.Show();
}
function m_importDonePane_OnClickNextButton()
{
m_restartImport();
}
function m_cboGeneric_Error(status, statusText, responseText)
{
ShowDebugWindow(responseText);
}
}
function ListViewControl(pContainer, pObjectIdentifier, pObjectPK, pColumnIdentifiers, pColumnNames, pColumnWidths, pWidth, pHeight, pShowCheckboxes, pEnablePaging)
{
var self = this;
var m_container = pContainer;
var m_objectIdentifier = pObjectIdentifier;
var m_objectPK = pObjectPK.toLowerCase();
var m_columnIdentifiers = pColumnIdentifiers.toLowerCase().split("|");
var m_columnNames = pColumnNames.split("|"); /* Preface name with '[', '_', ']' for left, center, and right align columns respectively*/
var m_columnWidths = pColumnWidths.split("|");
var m_columnAlignments = null;
var m_width = (pWidth ? pWidth : 500);
var m_height = (pHeight ? pHeight : 350);
var m_showCheckboxes = (pShowCheckboxes ? pShowCheckboxes : false);
var m_enablePaging = (pEnablePaging ? pEnablePaging : false);
var m_pageSize = 100;
var m_pageStart = 0;
var m_xmlCache = null;
var m_listItemContainer = null;
var m_itemCount = 0;
var m_pagingContainer = null;
var m_pagingNextButton = null;
var m_pagingPreviousButton = null;
var m_listControl = null;
var m_checkboxes = null;
var m_cboListItems = new CallBackObject();
//Dynamic CSS definitions handling /////////////////////////////////// ListControl_ClassName ; ListContainer_ClassName
var ListContainer_ClassName = 'ListContainer';
var ListControl_ClassName = 'ListControl';
if ( pObjectIdentifier == 'studentsforusergroup'){
ListContainer_ClassName = 'ListContainer';
ListControl_ClassName = 'ListControl';
}
//studentreportingperiodschoolvalues , studentreportingperiodschoolactivities
if ( pObjectIdentifier == 'studentreportingperiodschoolbehaviours' || pObjectIdentifier == 'studentreportingperiodstrands'){
ListContainer_ClassName = 'ListContainerReports';
ListControl_ClassName = 'ListControlReports';
}
//Dynamic CSS definitions handling ///////////////////////////////////
m_cboListItems.OnComplete = m_cboListItems_Complete;
m_cboListItems.OnError = m_cboGeneric_Error;
this.RefreshList = m_RefreshList;
this.OnCellClick = null;
this.OnCellRender = null;
this.OnRefreshComplete = null;
this.OnCheckboxRenderSetEnabled = null;
this.OnCheckboxRenderSetChecked = null;
this.GetCheckedItems = m_getCheckedItems;
this.CheckAllItems = m_checkAllItems;
this.UncheckAllItems = m_uncheckAllItems;
this.GetCheckedEnabledItems = m_getCheckedEnabledItems;
this.Show = m_show;
this.Hide = m_hide;
this.Finalise = m_finalise;
m_initialise();
function m_finalise()
{
m_clearCheckboxes();
m_recurseDomTree(m_listControl);
m_cboListItems.OnComplete = null;
m_cboListItems.OnError = null;
m_cboListItems.Finalise();
m_cboListItems = null;
m_listControl = null;
}
function m_clearCheckboxes()
{
var o = null;
if (m_checkboxes)
{
o = m_checkboxes.pop();
while(o) {
o = null;
o = m_checkboxes.pop();
}
}
m_checkboxes = null;
}
function m_recurseDomTree(pNode)
{
if (!pNode.childNodes)
{
pNode = null;
return null;
}
if (pNode.childNodes.length == 0)
{
pNode = null;
return null;
}
var o = pNode.firstChild;
while(o)
{
m_recurseDomTree(o);
o = o.nextSibling;
}
}
function m_initialise()
{
var i;
var columnName = null;
var columnAlign = null;
if (m_showCheckboxes == true) {
m_width += 20; // extra space for checkboxes
}
m_columnAlignments = new Array(m_columnNames.length);
for(i=0; i";
m_pagingNextButton.className = "FlatButton";
m_pagingNextButton.onclick = m_pagingNextButton_OnClick;
m_pagingContainer.appendChild(m_pagingNextButton);
}
m_listControl = document.createElement("div");
//m_listControl.className = "ListControl";///////////////////////////////////////dynamic class name
m_listControl.className = ListControl_ClassName ;///////////////////////////////////////dynamic class name ListContainer_ClassName
m_listControl.style.width = m_width + "px";
m_listControl.style.height = m_height + "px";
m_container.appendChild(m_listControl);
}
function m_RefreshList(pCriteria)
{
m_cboListItems.DoCallBackManual(m_objectIdentifier, 'list', pCriteria);
}
function m_cboListItems_Complete(responseText, responseXML)
{
var oXmlListItem;
m_pageStart = 0;
m_xmlCache = responseXML;
m_itemCount = 0;
oXmlListItem = m_xmlCache.documentElement.firstChild;
while(oXmlListItem != null){
m_itemCount++;
oXmlListItem = oXmlListItem.nextSibling;
}
if (m_enablePaging == true)
{
m_setPagingButtonsEnabledState();
m_renderListItems(m_pageStart,m_pageSize);
} else {
m_renderListItems(0,m_itemCount);
}
oXmlListItem = m_xmlCache.documentElement.firstChild;
m_onRefreshComplete(m_itemCount);
}
function m_renderListItems(pStart, pCount)
{
var oXmlListItem;
var oTR;
var oTD;
var oCheck;
var i;
var j = 0;
window.status = "Rendering list...please wait.";
m_clearCheckboxes();
m_checkboxes = new Array();
m_createListItemContainer();
oXmlListItem = m_xmlCache.documentElement.firstChild;
while(oXmlListItem != null){
if (j >= pStart+pCount)
{
break;
}
if (j >= pStart)
{
oTR = document.createElement("TR");
oTR.className = (j % 2 == 0 ? "RowNormal" : "RowAlt");
oTR.onmouseover = m_onCellMouseEnter;
oTR.onmouseout = m_onCellMouseLeave;
m_listItemContainer.appendChild(oTR);
if (m_showCheckboxes == true) {
oCheck = document.createElement("INPUT");
oCheck.type = "checkbox";
oCheck.objectPK = oXmlListItem.getAttribute(m_objectPK);
oTD = document.createElement("TD");
oTD.width = 20;
oTD.align = "center";
oTD.appendChild(oCheck);
oTR.appendChild(oTD);
if (self.OnCheckboxRenderSetEnabled) {
oCheck.disabled = ! self.OnCheckboxRenderSetEnabled(oXmlListItem.getAttribute(m_objectPK), oXmlListItem)
}
if (self.OnCheckboxRenderSetChecked) {
oCheck.checked = self.OnCheckboxRenderSetChecked(oXmlListItem.getAttribute(m_objectPK), oXmlListItem)
}
m_checkboxes.push(oCheck);
}
for(i=0; i= m_pageSize)
{
iCount = m_pageSize;
}
m_setPagingButtonsEnabledState();
m_renderListItems(m_pageStart, iCount);
}
function m_setPagingButtonsEnabledState()
{
m_pagingPreviousButton.disabled = (m_pageStart == 0);
m_pagingNextButton.disabled = ((m_itemCount <= m_pageSize) || (m_pageStart >= (m_itemCount - 1 - m_pageSize) ));
}
function m_onCellMouseEnter()
{
this.className += "Highlight";
}
function m_onCellMouseLeave()
{
this.className = this.className.replace("Highlight", "");
}
function m_onCellClick()
{
if (self.OnCellClick){
self.OnCellClick(this.objectPK, this.columnIdentifier, this.cellValue, this);
}
}
function m_onRefreshComplete(pCount)
{
if (self.OnRefreshComplete) {
self.OnRefreshComplete(pCount);
}
}
function m_cboGeneric_Error(status, statusText, responseText)
{
ShowDebugWindow(responseText);
}
function m_show()
{
if (m_listControl) m_listControl.style.display = "block";
}
function m_hide()
{
if (m_listControl) m_listControl.style.display = "none";
}
function m_getCheckedItems()
{
var i;
var oCheck;
var oChecked;
if (m_checkboxes == null) {
return null;
}
oChecked = new Array();
for(i=0; iSelect Students and select the required student in the OS column.", true);
m_cboGetStanines.DoCallBackManual("observationsurveystanines", "list");
}
function m_cboGetStanines_Complete(responseText, responseXML)
{
var x;
var o;
if (!responseXML || !responseXML.lastChild) {
alert("Could not load stanines.");
return;
}
m_stanineData = new Array();
x = responseXML.lastChild.firstChild;
while(x) {
o = new Object(
{
stanineType : x.getAttribute('staninetype'),
applicableReport : x.getAttribute('applicablereport'),
scoreValue: x.getAttribute('scorevalue'),
stanineValue: x.getAttribute('staninevalue')
}
);
m_stanineData.push(o);
x = x.nextSibling;
}
}
function m_lookupStanine(pStanineType, pApplicableReport, pScore)
{
var i, o;
if (!m_stanineData) {
return '?';
}
for (i=0; i 0) s += "|";
s += i;
}
return s;
}
function m_formatMonthsYears(pMonths)
{
var y, m;
y = parseInt(pMonths / 12);
m = pMonths - (y * 12)
return y + "." + m;
}
}
function ObservationSurveyExportControl(pContainer, pbAllowChangeSchool)
{
var m_container = pContainer;
var m_schoolsList = null;
var m_yearsControl = null;
var m_exportControl = null;
m_initialise();
function m_initialise()
{
m_schoolsList = new DropdownControl(m_container, "schools", "PK_School", "SchoolName", false, false, false, true, 400, false, null, null, true, null, "School:", true);
m_yearsControl = new DropdownControl(m_container, "observationsurveyyears", "ObservationSurveyYear", "ObservationSurveyYear", false, false, false, true, 150, false, null, null, false, null, "Year:", true);
m_exportControl = document.createElement("INPUT");
m_exportControl.type = "button";
m_exportControl.value = "Export";
m_exportControl.className = "FlatButton";
m_exportControl.onclick = m_export_onclick;
m_container.appendChild(m_exportControl);
}
function m_export_onclick()
{
var oPKs;
var oForm;
var oPKSchool;
var oYear;
oPKSchool = document.createElement("INPUT");
oPKSchool.type = "hidden";
oPKSchool.name = "pk";
oPKSchool.value = m_schoolsList.GetValue();
oYear = document.createElement("INPUT");
oYear.type = "hidden";
oYear.name = "y";
oYear.value = m_yearsControl.GetValue();
oForm = document.createElement("form");
m_container.appendChild(oForm);
oForm.action = "ObservationSurvey.asp";
oForm.method = "get";
oForm.target = "_new";
oForm.appendChild(oPKSchool);
oForm.appendChild(oYear);
oForm.submit();
}
}
function OptionDropdownControl(pContainer, pObjectIdentifier, pObjectPKName, pObjectPKValue, pOptionNames, pOptionValues, pInitialValue, pWidth, pTitle, pbVerticalSpaceAfter)
{
var self = this;
var m_container = pContainer;
var m_objectIdentifier = pObjectIdentifier;
var m_objectPKName = pObjectPKName;
var m_objectPKValue = pObjectPKValue;
var m_optionNames = pOptionNames.split("|");
var m_optionValues = pOptionValues.split("|");
var m_initialValue = pInitialValue;
var m_width = pWidth;
var m_title = pTitle;
var m_verticalSpaceAfter = (pbVerticalSpaceAfter ? pbVerticalSpaceAfter : false);
var m_titleControl = null
var m_selectControl = null;
var m_bEnabled = true;
this.SetValue = m_setValue;
this.SetValueAndSave = m_setValueAndSave;
this.SetEnabled = m_setEnabled;
this.OnChange = null;
this.Finalise = m_finalise;
this.Show = m_show;
this.Hide = m_hide;
this.SetPKValue = m_setPKValue;
this.GetValue = m_getValue;
var m_cboSet = new CallBackObject();
m_cboSet.OnComplete = m_cboSet_Complete;
m_cboSet.OnError = m_cboGeneric_Error;
m_initialise();
function m_setPKValue(pPKValue)
{
m_objectPKValue = pPKValue
}
function m_finalise()
{
delete m_cboSet.OnComplete;
delete m_cboSet.OnError;
m_cboSet.Finalise();
delete m_cboSet;
m_cboSet = null;
m_selectControl.onchange = null;
m_selectControl = null;
}
function m_initialise()
{
var i, newOpt;
if (m_title) {
m_titleControl = document.createElement("DIV");
m_titleControl.innerHTML = m_title;
m_titleControl.className = "OptionDropdownControlTitle";
m_container.appendChild(m_titleControl);
}
m_selectControl = document.createElement("SELECT");
m_selectControl.className = "OptionDropdownControlSelectControl";
if (m_width) m_selectControl.style.width = m_width + "px";
m_selectControl.onchange = m_set;
m_selectControl.disabled = !m_bEnabled;
m_container.appendChild(m_selectControl);
for(i=0; i"
oRadio = document.createElement(sElement);
oRadio.onclick = m_set;
oRadio.value = m_optionValues[i];
m_container.appendChild(oRadio);
if (m_initialValue == m_optionValues[i]) oRadio.checked = true;
} else {
oRadio = document.createElement("INPUT");
oRadio.type = "radio";
oRadio.name = sRadioName;
oRadio.onclick = m_set;
oRadio.value = m_optionValues[i];
m_container.appendChild(oRadio);
if (m_initialValue == m_optionValues[i]) oRadio.checked = true;
}
m_objectCache.push(oRadio);
oText = document.createElement("SPAN");
oText.className = "OptionGroupControlRadioButton"
oText.innerHTML = m_optionNames[i];
oText.radioControl = oRadio;
oText.onclick = m_text_onClick;
m_container.appendChild(oText);
}
}
function m_finalise()
{
var o
if (m_objectCache) {
o = m_objectCache.pop();
while(o) {
o.onclick = null;
delete o;
o = null;
o = m_objectCache.pop();
}
m_objectCache = null;
}
delete m_cboSet.OnComplete;
delete m_cboSet.OnError;
m_cboSet.Finalise();
delete m_cboSet;
m_cboSet = null;
}
function m_setEnabled(pbEnabled)
{
var i,o;
if (!m_objectCache) return;
for (i=0; i"
oRadio = document.createElement(sElement);
oRadio.onclick = m_set;
oRadio.value = m_optionValues[i];
m_container.appendChild(oRadio);
if (m_initialValue == m_optionValues[i]) oRadio.checked = true;
} else {
oRadio = document.createElement("INPUT");
oRadio.type = "radio";
oRadio.name = sRadioName;
oRadio.onclick = m_set;
oRadio.value = m_optionValues[i];
m_container.appendChild(oRadio);
if (m_initialValue == m_optionValues[i]) oRadio.checked = true;
}
}
alert('alert'); */
}
function m_cboGeneric_Error(status, statusText, responseText)
{
ShowDebugWindow(responseText);
}
}
function PaneControl(pContainer, pbShowNextButton)
{
var self = this;
var m_container = pContainer;
var m_showNextButton = (typeof pbShowNextButton != 'undefined' ? pbShowNextButton : false);
var m_paneControl = null;
var m_titleControl = null;
var m_helpTextControl = null;
var m_containerControl = null;
var m_nextButton = null;
this.SetTitle = m_setTitle;
this.SetHelpText = m_setHelpText;
this.AppendChild = m_appendChild;
this.Show = m_show;
this.Hide = m_hide;
this.GetContainer = m_getContainer;
this.OnClickNextButton = null; // function ()
m_initialise();
function m_initialise()
{
m_paneControl = document.createElement("DIV");
m_container.appendChild(m_paneControl);
m_titleControl = document.createElement("DIV");
m_titleControl.className = "PaneControlTitleControl";
m_titleControl.innerHTML = " ";
m_paneControl.appendChild(m_titleControl);
m_paneControl.appendChild(document.createElement("HR"));
m_helpTextControl = document.createElement("DIV");
m_helpTextControl.className = "PaneControlHelpTextControl";
m_helpTextControl.innerHTML = " ";
m_paneControl.appendChild(m_helpTextControl);
m_paneControl.appendChild(document.createElement("HR"));
m_containerControl = document.createElement("DIV");
m_paneControl.appendChild(m_containerControl);
if (m_showNextButton == true)
{
m_paneControl.appendChild(document.createElement("HR"));
m_nextButton = document.createElement("INPUT");
m_nextButton.type = "button";
m_nextButton.value = "Next >>";
m_nextButton.className = "FlatButton";
m_nextButton.onclick = m_nextButton_OnClick;
m_paneControl.appendChild(m_nextButton);
}
}
function m_nextButton_OnClick()
{
if (self.OnClickNextButton) {
self.OnClickNextButton();
}
}
function m_setTitle(pTitle)
{
m_titleControl.innerHTML = pTitle;
}
function m_setHelpText(pHelpText)
{
m_helpTextControl.innerHTML = pHelpText;
}
function m_appendChild(pElement)
{
m_containerControl.appendChild(pElement);
}
function m_getContainer()
{
return m_containerControl;
}
function m_show()
{
m_paneControl.style.display = "block";
}
function m_hide()
{
m_paneControl.style.display = "none";
}
}
function PopupContainerControl(pContainer, pContainerWidth, pContainerHeight, pPopupWidth, pPopupHeight, pTitleText, pConfirmText)
{
var self = this;
var m_container = pContainer;
var m_containerWidth = pContainerWidth;
var m_containerHeight = pContainerHeight;
var m_width = pPopupWidth;
var m_height = pPopupHeight;
var m_titleText = pTitleText;
var m_confirmText = pConfirmText;
var m_iframeControl = null;
var m_popupContainer = null;
var m_popupTitleControl = null;
var m_contentControl = null;
var m_confirmButton = null;
var m_cancelButton = null;
var m_buttonContainer = null;
var m_buttonSpacerControl = null;
this.Show = m_show;
this.Hide = m_hide;
this.GetContainer = m_getContainer;
this.SetConfirmText = m_setConfirmText;
this.SetTitleText = m_setTitleText;
/* Events fired when popup is Confirmed or Cancelled */
this.OnConfirm = null;
this.OnCancel = null;
m_initialise();
function m_initialise()
{
m_iframeControl = document.createElement("IFRAME");
m_iframeControl.className = "PopupContainerControlIFrame";
m_popupContainer = document.createElement("DIV");
m_popupContainer.className = "PopupContainerControlPopupContainer";
m_iframeControl.style.width = m_width + "px";
m_iframeControl.style.height = m_height + "px";
m_popupContainer.style.width = m_width + "px";
m_popupContainer.style.height = m_height + "px";
m_container.appendChild(m_iframeControl);
m_container.appendChild(m_popupContainer);
m_popupTitleControl = document.createElement("DIV");
m_popupTitleControl.className = "PopupContainerControlTitleControl";
m_popupTitleControl.innerHTML = m_titleText;
m_popupContainer.appendChild(m_popupTitleControl);
m_contentControl = document.createElement("DIV");
m_contentControl.className = "PopupContainerControlContentControl";
m_popupContainer.appendChild(m_contentControl);
m_buttonContainer = document.createElement("DIV");
m_buttonContainer.className = "PopupContainerControlButtonContainer";
m_popupContainer.appendChild(m_buttonContainer);
m_confirmButton = new ButtonControl(m_buttonContainer, m_confirmText);
m_confirmButton.OnClick = m_confirmButton_OnClick;
m_buttonSpacerControl = document.createElement("SPAN");
m_buttonSpacerControl.innerHTML = " ";
m_buttonContainer.appendChild(m_buttonSpacerControl);
m_cancelButton = new ButtonControl(m_buttonContainer, "Cancel");
m_cancelButton.OnClick = m_cancelButton_OnClick;
}
function m_setTitleText(pTitleText)
{
m_titleText = pTitleText;
m_popupTitleControl.innerHTML = m_titleText;
}
function m_setConfirmText(pConfirmText)
{
m_confirmText = pConfirmText;
m_confirmButton.SetButtonText(m_confirmText);
}
function m_getContainer()
{
return m_contentControl;
}
function m_confirmButton_OnClick()
{
var cancel = false;
if (self.OnConfirm) {
cancel = self.OnConfirm();
}
if (cancel) {
return;
}
m_hide();
}
function m_cancelButton_OnClick()
{
m_hide();
if (self.OnCancel) {
self.OnCancel();
}
}
function m_show()
{
var x = m_findPosX(m_container);
var y = m_findPosY(m_container);
m_iframeControl.style.left = x + ((m_containerWidth - 400)/2);
m_iframeControl.style.top = y + ((m_containerHeight - 100)/2);
m_popupContainer.style.left = x + ((m_containerWidth - 400)/2);
m_popupContainer.style.top = y + ((m_containerHeight - 100)/2);
m_iframeControl.style.display = "block";
m_popupContainer.style.display = "block";
}
function m_hide()
{
m_iframeControl.style.display = "none";
m_popupContainer.style.display = "none";
}
function m_findPosX(obj)
{
var curleft = 0;
if (obj.offsetParent)
{
while (obj.offsetParent)
{
curleft += obj.offsetLeft
obj = obj.offsetParent;
}
}
else if (obj.x)
curleft += obj.x;
return curleft;
}
function m_findPosY(obj)
{
var curtop = 0;
if (obj.offsetParent)
{
while (obj.offsetParent)
{
curtop += obj.offsetTop
obj = obj.offsetParent;
}
}
else if (obj.y)
curtop += obj.y;
return curtop;
}
}
function PopupMessageControl(pContainer, pContainerWidth, pContainerHeight, pMessageText)
{
var self = this;
var m_container = pContainer;
var m_messageText = pMessageText;
var m_iframeControl = null;
var m_messageControl = null;
var m_containerWidth = pContainerWidth;
var m_containerHeight = pContainerHeight;
this.Show = m_show;
this.Hide = m_hide;
m_initialise();
function m_initialise()
{
m_iframeControl = document.createElement("IFRAME");
m_iframeControl.className = "PopupMessageControlIFrame";
m_container.appendChild(m_iframeControl);
m_messageControl = document.createElement("DIV");
m_messageControl.className = "PopupMessageControlMessageControl"
m_messageControl.innerHTML = m_messageText;
m_container.appendChild(m_messageControl);
}
/*
*/
function m_show()
{
var x = m_findPosX(m_container);
var y = m_findPosY(m_container);
m_iframeControl.style.left = x + ((m_containerWidth - 400)/2);
m_iframeControl.style.top = y + ((m_containerHeight - 100)/2);
m_messageControl.style.left = x + ((m_containerWidth - 400)/2);
m_messageControl.style.top = y + ((m_containerHeight - 100)/2);
m_iframeControl.style.display = "block";
m_messageControl.style.display = "block";
}
function m_hide()
{
m_iframeControl.style.display = "none";
m_messageControl.style.display = "none";
}
function m_findPosX(obj)
{
var curleft = 0;
if (obj.offsetParent)
{
while (obj.offsetParent)
{
curleft += obj.offsetLeft
obj = obj.offsetParent;
}
}
else if (obj.x)
curleft += obj.x;
return curleft;
}
function m_findPosY(obj)
{
var curtop = 0;
if (obj.offsetParent)
{
while (obj.offsetParent)
{
curtop += obj.offsetTop
obj = obj.offsetParent;
}
}
else if (obj.y)
curtop += obj.y;
return curtop;
}
}
function RelationshipToggleControl(pContainer, pObjectIdentifier, pObjectPK1Name, pObjectPK2Name, pObjectPK1Value, pObjectPK2Value, pValue)
{
var m_container = pContainer;
var m_objectIdentifier = pObjectIdentifier;
var m_objectPK1Name = pObjectPK1Name;
var m_objectPK1Value = pObjectPK1Value;
var m_objectPK2Name = pObjectPK2Name;
var m_objectPK2Value = pObjectPK2Value;
var m_value = pValue.toLowerCase();
var m_checkboxControl = null;
var m_cboToggle = new CallBackObject();
m_cboToggle.OnComplete = m_cboToggle_Complete;
m_cboToggle.OnError = m_cboGeneric_Error;
this.Finalise = m_finalise;
this.SetEnabled = m_setEnabled;
m_initialise();
function m_initialise(){
m_checkboxControl = document.createElement("INPUT");
m_checkboxControl.type = "checkbox";
m_checkboxControl.value = "1";
m_checkboxControl.onclick = m_onClick;
m_container.appendChild(m_checkboxControl);
m_checkboxControl.checked = (m_value == "true");
}
function m_finalise()
{
m_checkboxControl.onclick = null;
m_checkboxControl = null;
delete m_cboToggle.OnComplete;
delete m_cboToggle.OnError;
m_cboToggle.Finalise();
delete m_cboToggle;
m_cboToggle = null;
}
function m_setEnabled(pbEnabled)
{
m_checkboxControl.disabled = !pbEnabled;
}
function m_onClick()
{
m_cboToggle.DoCallBackManual(m_objectIdentifier, (this.checked == true ? "add" : "delete"), m_objectPK1Name + "=" + m_objectPK1Value + "&" + m_objectPK2Name + "=" + m_objectPK2Value);
}
function m_cboToggle_Complete(responseText, responseXML)
{
}
function m_cboGeneric_Error(status, statusText, responseText)
{
ShowDebugWindow(responseText);
}
}
function ReportCommentControl(pContainer, pPKStudentReportingPeriod, pObjectIdentifier, pTitleText, pCommentMaxLength)
{
var self = this;
var m_container = pContainer;
var m_PKStudentReportingPeriod = pPKStudentReportingPeriod;
var m_objectIdentifier = pObjectIdentifier;
var m_comment = null;
var m_commentTextAreaControl = null;
var m_titleText = pTitleText;
var m_commentMaxLength = pCommentMaxLength;
var m_cboGetComment = new CallBackObject();
m_cboGetComment.OnComplete = m_cboGetComment_Complete;
m_cboGetComment.OnError = m_cboGeneric_Error;
var m_bLoaded = false;
var m_bQueuedSetEnabled = false;
var m_bQueuedSetEnabledValue = null;
this.SetEnabled = m_setEnabled;
this.Finalise = m_finalise;
m_initialise();
function m_initialise()
{
m_cboGetComment.DoCallBackManual(m_objectIdentifier, 'get', 'PK_StudentReportingPeriod=' + m_PKStudentReportingPeriod)
}
function m_finalise()
{
if (m_commentTextAreaControl) {
m_commentTextAreaControl.Finalise();
}
m_commentTextAreaControl = null;
delete m_cboGetComment.OnComplete;
delete m_cboGetComment.OnError;
m_cboGetComment.Finalise();
delete m_cboGetComment;
m_cboGetComment = null;
}
function m_cboGetComment_Complete(responseText, responseXML)
{
//20061101: DEPRECATED m_comment = responseXML.documentElement.firstChild.getAttribute('value');
m_comment = g_xmlGetElementValue(responseXML.documentElement.firstChild, "valueText");
m_initialise2();
}
function m_initialise2()
{
// m_commentTextAreaControl = new TextAreaControl(m_container, m_objectIdentifier, 'set', 'PK_StudentReportingPeriod', m_PKStudentReportingPeriod, m_comment, 600, 200,m_titleText, true, true, m_commentMaxLength);
m_commentTextAreaControl = new TextAreaControl(m_container, m_objectIdentifier, 'set', 'PK_StudentReportingPeriod', m_PKStudentReportingPeriod, m_comment, 600, 200,m_titleText, true, true, m_commentMaxLength,true ); //last param p_asave_commits - set to TRUE . allows autosave to count as a commit - see TextAreaControl Class
m_bLoaded = true;
if (m_bQueuedSetEnabled == true) {
m_setEnabled(m_bQueuedSetEnabledValue);
}
}
function m_setEnabled(pbEnabled)
{
if (m_bLoaded == false) {
m_bQueuedSetEnabled = true;
m_bQueuedSetEnabledValue = pbEnabled;
return;
}
if (m_commentTextAreaControl) {
m_commentTextAreaControl.SetEnabled(pbEnabled);
}
}
function m_cboGeneric_Error(status, statusText, responseText)
{
ShowDebugWindow(responseText);
}
}
function ReportControl(pContainer, pSubjectQuartiles, pStrandAchievementLevels, pSchoolValuesAchievementLevels, pSchoolBehavioursAchievementLevels, pAllowTeacherFinalise, pAllowPrincipalFinalise, pAllowReviewerFinalise, pAllowModifyArchivedReports, pAllowModifyReportsFinalisedByPrincipal)
{
var self = this;
var m_container = pContainer;
var m_subjectQuartiles = pSubjectQuartiles;
var m_strandAchievementLevels = pStrandAchievementLevels;
/* When this is true, school based achievement levels are used instead of the values in tb_SystemSetting*/
var m_useSchoolBastedStrandAchievementLevels = true;
var m_schoolValuesAchievementLevels = pSchoolValuesAchievementLevels;
var m_schoolBehavioursAchievementLevels = pSchoolBehavioursAchievementLevels;
var m_allowTeacherFinalise = pAllowTeacherFinalise;
var m_allowPrincipalFinalise = pAllowPrincipalFinalise;
var m_allowReviewerFinalise = pAllowReviewerFinalise; //Prime Learning
var m_allowModifyArchivedReports = pAllowModifyArchivedReports;
var m_allowModifyReportsFinalisedByPrincipal = pAllowModifyReportsFinalisedByPrincipal;
var m_navigatorContainer = null;
var m_navigatorContainerInner = null;
var m_navStartImageControl = null
var m_navPrevImageControl = null
var m_navNexttImageControl = null
var m_navEndImageControl = null
var m_studentsList = null;
var m_detailsContainer = null;
var m_menuControl = null;
var m_menuContainer = null;
var m_contentContainer = null;
var m_stageDropdownControl = null;
var m_navigatorContainerHelpMessage = null;
var m_subjectControls = null; /* array containing subject controls */
var m_actionsContainer = null;
var m_actionsContainerInner = null;
var m_listControls = null;
var oTeacherCommentControl = null;
var oPrincipalCommentControl = null;
/* Details of current report */
var m_PKSchool = null;
var m_PKStudent = null;
var m_PKReportingPeriod = null;
var m_limitType = null;
var m_PK = null;
var m_PKStudentReportingPeriod = null;
var m_PKStage = null;
var m_PKGrade = null;
var m_stageName = null;
var m_isFinalisedByPrincipal = null;
var m_isFinalisedByTeacher = null;
var m_isFinalisedByReviewer = null; //Prime Learning
var m_showTeacherComment = null;
var m_showPrincipalComment = null;
var m_studentFirstName = null;
var m_studentSurname = null;
var m_studentGender = null;
var m_teacherName = null;
var m_daysAbsent = null;
var m_showEffort = null;
var m_effort1 = null;
var m_effort2 = null;
var m_effort3 = null;
var m_effort4 = null;
var m_rankingOption = null;
var m_showQuantitativeAssessment = null;
var m_reportIsFromCurrentReportingPeriod = null;
var m_PKReportTemplate = null;
var m_reportTemplatePaperSize = null;
var m_reportTemplateFontName = null
var m_reportTemplateCommentJustification = null;
var m_showAchievementContinuum = null;
var m_achievementContinuum1 = null;
var m_achievementContinuum2 = null;
var m_achievementContinuum3 = null;
var m_achievementContinuum4 = null;
var m_achievementContinuum5 = null;
var m_showSubjectComments = null;
var m_subjectCommentMaxLength = null;
var m_teacherCommentMaxLength = null;
var m_principalCommentMaxLength = null;
/* 20060409: The overall stage of the student is no longer displayed */
var m_showOverallStage = false;
/* Allow user to view report in XML (good for testing) */
var m_showViewXMLOption = false;
/* 20070525: LUC: Event now passes archived state. */
var m_Archived = false;
var m_xmlStudentList = null;
var m_xmlCurrentStudent = null;
var m_xmlSubjectsList = null;
var m_xmlListsList = null;
var m_currentSubject = 0;
var m_cboListStudents = new CallBackObject();
var m_cboListReportDetails= new CallBackObject();
var m_cboListReportSubjects = new CallBackObject();
var m_cboListReportLists = new CallBackObject();
var m_cboGetStudentReport = new CallBackObject();
var m_cboSetStage = new CallBackObject();
m_cboListStudents.OnComplete = m_cboListStudents_Complete;
m_cboListStudents.OnError = m_cboGeneric_Error;
m_cboListReportSubjects.OnComplete = m_cboListReportSubjects_Complete;
m_cboListReportSubjects.OnError = m_cboGeneric_Error;
m_cboListReportLists.OnComplete = m_cboListReportLists_Complete;
m_cboListReportLists.OnError = m_cboGeneric_Error;
m_cboGetStudentReport.OnComplete = m_cboGetStudentReport_Complete;
m_cboGetStudentReport.OnError = m_cboGeneric_Error;
m_cboSetStage.OnComplete = m_cboSetStage_Complete;
m_cboSetStage.OnError = m_cboGeneric_Error;
this.SetCurrentStudentSet = m_setCurrentStudentSet;
m_initialise();
function m_initialise()
{
var oImageContainer;
var oTable;
var oTBody;
var oTR;
var oTD;
var oText;
var oStageContainer;
oTable = document.createElement("TABLE");
oTable.width = "100%";
oTable.border = 0;
oTable.cellPadding = 0;
oTable.cellSpacing = 4;
m_container.appendChild(oTable);
oTBody = document.createElement("TBODY");
oTable.appendChild(oTBody);
oTR = document.createElement("TR");
oTBody.appendChild(oTR);
oTD = document.createElement("TD");
oTD.width = 600;
oTR.appendChild(oTD);
m_navigatorContainer = document.createElement("DIV");
m_navigatorContainer.className = "ReportControlNavigatorContainerOuter";
oTD.appendChild(m_navigatorContainer);
m_navigatorContainerInner = document.createElement("DIV");
m_navigatorContainerInner.className = "ReportControlNavigatorContainerInner";
m_navigatorContainerInner.style.display = "none";
m_navigatorContainer.appendChild(m_navigatorContainerInner);
m_navigatorContainerHelpMessage = document.createElement("DIV");
m_navigatorContainerHelpMessage.className = "ReportControlNavigatorContainerInner";
m_navigatorContainerHelpMessage.innerHTML = "To display/write a report for a student, click Select Students and select the required student.";
m_navigatorContainer.appendChild(m_navigatorContainerHelpMessage);
oImageContainer = document.createElement("SPAN");
oImageContainer.className = "ReportControlImageContainerL";
m_navigatorContainerInner.appendChild(oImageContainer);
m_navStartImageControl = document.createElement("IMG");
m_navStartImageControl.src = "images/start.gif"
m_navStartImageControl.height = "16";
m_navStartImageControl.width = "16";
m_navStartImageControl.className = "ReportControlImage";
m_navStartImageControl.title = "First";
m_navStartImageControl.onclick = m_navStart;
oImageContainer.appendChild(m_navStartImageControl);
oImageContainer = document.createElement("SPAN");
oImageContainer.className = "ReportControlImageContainerL";
m_navigatorContainerInner.appendChild(oImageContainer);
m_navPrevImageControl = document.createElement("IMG");
m_navPrevImageControl.src = "images/back.gif"
m_navPrevImageControl.height = "16";
m_navPrevImageControl.width = "16";
m_navPrevImageControl.className = "ReportControlImage";
m_navPrevImageControl.title = "Previous";
m_navPrevImageControl.onclick = m_navPrev;
oImageContainer.appendChild(m_navPrevImageControl);
/* 20070525: LUC: Query backend that takes into account archived flag. */
m_studentsList = new DropdownControl(m_navigatorContainerInner, "studentsforusergroup", "PK_Student", "FullName", false, false, false, false, 300)
oImageContainer = document.createElement("SPAN");
oImageContainer.className = "ReportControlImageContainerR";
m_navigatorContainerInner.appendChild(oImageContainer);
m_navNextImageControl = document.createElement("IMG");
m_navNextImageControl.src = "images/forward.gif"
m_navNextImageControl.height = "16";
m_navNextImageControl.width = "16";
m_navNextImageControl.className = "ReportControlImage";
m_navNextImageControl.title = "Next";
m_navNextImageControl.onclick = m_navNext;
oImageContainer.appendChild(m_navNextImageControl);
oImageContainer = document.createElement("SPAN");
oImageContainer.className = "ReportControlImageContainerR";
m_navigatorContainerInner.appendChild(oImageContainer);
m_navEndImageControl = document.createElement("IMG");
m_navEndImageControl.src = "images/end.gif"
m_navEndImageControl.height = "16";
m_navEndImageControl.width = "16";
m_navEndImageControl.className = "ReportControlImage";
m_navEndImageControl.title = "Last";
m_navEndImageControl.onclick = m_navEnd;
oImageContainer.appendChild(m_navEndImageControl);
if (m_showOverallStage == true) {
oStageContainer = document.createElement("DIV");
oStageContainer.className = "ReportControlStageContainer";
m_navigatorContainerInner.appendChild(oStageContainer);
oText = document.createElement("SPAN");
oText.innerHTML = "Stage: ";
oStageContainer.appendChild(oText);
m_stageDropdownControl = new DropdownControl(oStageContainer, "stages", "PK_Stage", "StageName", false, false, false, false, 100);
m_stageDropdownControl.OnRefreshComplete = m_stageDropdownControl_OnRefreshComplete;
m_stageDropdownControl.OnChange = m_stageDropdownControl_OnChange;
}
m_detailsContainer = document.createElement("DIV");
m_detailsContainer.className = "ReportControlDetailsContainer";
m_navigatorContainerInner.appendChild(m_detailsContainer);
oTD = document.createElement("TD");
oTR.appendChild(oTD);
m_actionsContainer = document.createElement("DIV");
m_actionsContainer.className = "ReportControlActionsContainerOuter";
oTD.appendChild(m_actionsContainer);
m_actionsContainerInner = document.createElement("DIV");
m_actionsContainerInner.className = "ReportControlActionsContainerInner";
m_actionsContainer.appendChild(m_actionsContainerInner);
oTable = document.createElement("TABLE");
oTable.width = "100%";
oTable.border = 0;
oTable.cellPadding = 0;
oTable.cellSpacing = 0;
m_container.appendChild(oTable);
oTBody = document.createElement("TBODY");
oTable.appendChild(oTBody);
oTR = document.createElement("TR");
oTBody.appendChild(oTR);
oTD = document.createElement("TD");
oTR.appendChild(oTD);
m_menuContainer = document.createElement("DIV");
m_menuContainer.id = "reportControlMenu";
m_menuContainer.className = "ReportControlMenuContainer";
oTD.appendChild(m_menuContainer);
oTR = document.createElement("TR");
oTBody.appendChild(oTR);
oTD = document.createElement("TD");
oTR.appendChild(oTD);
m_contentContainer = document.createElement("DIV");
m_contentContainer.id = "reportControlContent"
m_contentContainer.className = "ReportControlContentContainer";
oTD.appendChild(m_contentContainer);
m_menuControl = new MenuControl(m_menuContainer, m_contentContainer, 0);
if (NiftyCheck() == true) {
Rounded("div.ReportControlNavigatorContainerOuter", "all","#ffffff","#aaffaa");
Rounded("div.ReportControlActionsContainerOuter", "all","#ffffff","#ffffaa");
}
}
/* BEGIN NAVIGATION */
/* 20070525: LUC: Event now passes archived state. */
function m_setCurrentStudentSet(pLimitType, pPK, pPKSchool, pPKReportingPeriod, pPKStudent, pArchived)
{
var sParams;
m_navigatorContainerHelpMessage.style.display = "none";
m_navigatorContainerInner.style.display = "block";
m_limitType = pLimitType;
m_PK = pPK;
m_PKSchool = pPKSchool;
m_PKStudent = pPKStudent;
m_PKReportingPeriod = pPKReportingPeriod;
/* 20070525: LUC: Set archived state. */
m_Archived = pArchived;
/* 20070525: LUC: Send archived state. */
sParams = "LimitType=" + m_limitType + "&PK=" + m_PK + "&PK_School=" + m_PKSchool + "&PK_ReportingPeriod=" + m_PKReportingPeriod + "&Archived=" + (m_Archived == true ? "True" : "False") + "&PK_UserGroup=" + user.PK_UserGroup;
/* 20070525: LUC: Query backend that takes into account archived flag. */
m_cboListStudents.DoCallBackManual("studentsforusergroup", "list", sParams);
}
function m_cboListStudents_Complete(responseText, responseXML)
{
var sParams;
m_xmlStudentList = responseXML;
m_xmlCurrentStudent = m_findStudent();
m_setCurrentStudent(m_PKStudent);
/* 20070525: LUC: Send archived state. */
sParams = "LimitType=" + m_limitType + "&PK=" + m_PK + "&PK_School=" + m_PKSchool + "&PK_ReportingPeriod=" + m_PKReportingPeriod + "&Archived=" + (m_Archived == true ? "True" : "False") + "&PK_UserGroup=" + user.PK_UserGroup;
m_studentsList.Refresh(sParams);
}
m_studentsList.OnRefreshComplete = function()
{
m_studentsList.SetValue(m_PKStudent);
}
m_studentsList.OnChange = function(pValue)
{
if (pValue != m_PKStudent) {
m_PKStudent = pValue;
m_xmlCurrentStudent = m_findStudent();
m_setCurrentStudent(m_PKStudent);
}
}
function m_navStart()
{
var iPKStudent;
if (!m_xmlCurrentStudent) return;
m_xmlCurrentStudent = m_xmlCurrentStudent.parentNode.firstChild;
iPKStudent = m_xmlCurrentStudent.getAttribute("pk_student");
m_studentsList.SetValue(iPKStudent);
m_setCurrentStudent(iPKStudent);
}
function m_navPrev()
{
var iPKStudent;
if (!m_xmlCurrentStudent || !m_xmlCurrentStudent.previousSibling) return;
m_xmlCurrentStudent = m_xmlCurrentStudent.previousSibling;
iPKStudent = m_xmlCurrentStudent.getAttribute("pk_student");
m_studentsList.SetValue(iPKStudent);
m_setCurrentStudent(iPKStudent);
}
function m_navNext()
{
var iPKStudent;
if (!m_xmlCurrentStudent || !m_xmlCurrentStudent.nextSibling) return;
m_xmlCurrentStudent = m_xmlCurrentStudent.nextSibling;
iPKStudent = m_xmlCurrentStudent.getAttribute("pk_student");
m_studentsList.SetValue(iPKStudent);
m_setCurrentStudent(iPKStudent);
}
function m_navEnd()
{
var iPKStudent;
if (!m_xmlCurrentStudent) return;
m_xmlCurrentStudent = m_xmlCurrentStudent.parentNode.lastChild;
iPKStudent = m_xmlCurrentStudent.getAttribute("pk_student");
m_studentsList.SetValue(iPKStudent);
m_setCurrentStudent(iPKStudent);
}
/*END NAVIGATION*/
function m_setCurrentStudent(pPKStudent)
{
m_PKStudent = pPKStudent;
m_cboGetStudentReport.DoCallBackManual("studentreportingperiods", "get", "PK_Student=" + m_PKStudent + "&PK_ReportingPeriod=" + m_PKReportingPeriod);
}
function m_cboGetStudentReport_Complete(reponseText, responseXML)
{
var oXmlStudentReportingPeriod;
oXmlStudentReportingPeriod = responseXML.documentElement.firstChild;
m_PKStudentReportingPeriod = oXmlStudentReportingPeriod.getAttribute("pk_studentreportingperiod");
m_PKStage = oXmlStudentReportingPeriod.getAttribute("fk_stage");
m_PKGrade = oXmlStudentReportingPeriod.getAttribute("fk_grade");
m_stageName = oXmlStudentReportingPeriod.getAttribute("stagename");
m_isFinalisedByTeacher = oXmlStudentReportingPeriod.getAttribute("isfinalisedbyteacher");
m_isFinalisedByPrincipal = oXmlStudentReportingPeriod.getAttribute("isfinalisedbyprincipal");
m_isFinalisedByReviewer = oXmlStudentReportingPeriod.getAttribute("isfinalisedbyreviewer"); //Prime Learning
m_showTeacherComment = (oXmlStudentReportingPeriod.getAttribute("showteachercomment").toLowerCase() == "true");
m_showPrincipalComment = (oXmlStudentReportingPeriod.getAttribute("showprincipalcomment").toLowerCase() == "true");
m_studentFirstName = oXmlStudentReportingPeriod.getAttribute("firstname");
m_studentSurname = oXmlStudentReportingPeriod.getAttribute("surname");
m_studentGender = oXmlStudentReportingPeriod.getAttribute("gender");
m_teacherName = oXmlStudentReportingPeriod.getAttribute("teachername");
m_daysAbsent = oXmlStudentReportingPeriod.getAttribute("daysabsent");
m_showEffort = (oXmlStudentReportingPeriod.getAttribute("showeffort").toLowerCase() == 'true');
m_effort1 = oXmlStudentReportingPeriod.getAttribute("effort1");
m_effort2 = oXmlStudentReportingPeriod.getAttribute("effort2");
m_effort3 = oXmlStudentReportingPeriod.getAttribute("effort3");
m_effort4 = oXmlStudentReportingPeriod.getAttribute("effort4");
m_rankingOption = oXmlStudentReportingPeriod.getAttribute("rankingoption");
m_showQuantitativeAssessment = (oXmlStudentReportingPeriod.getAttribute("showquantitativeassessment").toLowerCase() == "true");
m_reportIsFromCurrentReportingPeriod = oXmlStudentReportingPeriod.getAttribute("reportisfromcurrentreportingperiod");
//Prime Learning
m_scaleOverride = (oXmlStudentReportingPeriod.getAttribute("usescaleoverride").toLowerCase() == 'true');
m_PKReportTemplate = oXmlStudentReportingPeriod.getAttribute("fk_reporttemplate");
m_reportTemplatePaperSize = oXmlStudentReportingPeriod.getAttribute("reporttemplatepapersize");
m_reportTemplateFontName = oXmlStudentReportingPeriod.getAttribute("reporttemplatefontname");
m_reportTemplateCommentJustification = oXmlStudentReportingPeriod.getAttribute("reporttemplatecommentjustification");
m_showAchievementContinuum = (oXmlStudentReportingPeriod.getAttribute("showachievementcontinuum").toLowerCase() == "true");
m_achievementContinuum1 = oXmlStudentReportingPeriod.getAttribute("achievementcontinuum1");
m_achievementContinuum2 = oXmlStudentReportingPeriod.getAttribute("achievementcontinuum2");
m_achievementContinuum3 = oXmlStudentReportingPeriod.getAttribute("achievementcontinuum3");
m_achievementContinuum4 = oXmlStudentReportingPeriod.getAttribute("achievementcontinuum4");
m_achievementContinuum5 = oXmlStudentReportingPeriod.getAttribute("achievementcontinuum5");
if (systemSettings.UseSchoolConfiguredComments.toLowerCase() == 'true')
{
/* Parramatta - comments are chosen by school, and max lengths enforced */
m_showSubjectComments = (oXmlStudentReportingPeriod.getAttribute("showsubjectcomments").toLowerCase() == "true");
m_subjectCommentMaxLength = oXmlStudentReportingPeriod.getAttribute("subjectcommentmaxlength");
m_teacherCommentMaxLength = oXmlStudentReportingPeriod.getAttribute("teachercommentmaxlength");
m_principalCommentMaxLength = oXmlStudentReportingPeriod.getAttribute("principalcommentmaxlength");
} else {
/* Canberra Goulburn - fix max lengths*/
m_showSubjectComments = true;
m_subjectCommentMaxLength = 350; /* 20070928: CG10: Changed from 300 t0 350 characters.*/
m_teacherCommentMaxLength = 2000;
m_principalCommentMaxLength = 600;
}
if (m_useSchoolBastedStrandAchievementLevels == true)
{
//Prime Learning 30/03/2007
// depending the Kinder Scale display 3 or 5 levels
m_strandAchievementLevels = m_achievementContinuum1;
m_strandAchievementLevels += "|" + m_achievementContinuum2;
m_strandAchievementLevels += "|" + m_achievementContinuum3;
//dont display these if kinder scale is 3
if(!m_scaleOverride){
m_strandAchievementLevels += "|" + m_achievementContinuum4;
m_strandAchievementLevels += "|" + m_achievementContinuum5;
}
}
m_detailsContainer.innerHTML = "
School: " + oXmlStudentReportingPeriod.getAttribute("schoolname")
+ "
Class: " + oXmlStudentReportingPeriod.getAttribute("schoolclassname")
+ "
Reporting Period: " + oXmlStudentReportingPeriod.getAttribute("reportingperiodname") + ""
+ "
Teacher Name: " + oXmlStudentReportingPeriod.getAttribute("teachername") + "";
m_cboListReportSubjects.DoCallBackManual("reportsubjects_sort_ex", "list", "PK_School=" + m_PKSchool + "&PK_Grade=" + m_PKGrade);
}
function m_cboListReportSubjects_Complete(responseText, responseXML)
{
m_xmlSubjectsList = responseXML;
m_cboListReportLists.DoCallBackManual("reportlists", "list", "PK_StudentReportingPeriod=" + m_PKStudentReportingPeriod);
}
function m_cboListReportLists_Complete(responseText, responseXML)
{
m_xmlListsList = responseXML;
if (m_showOverallStage == true) {
m_stageDropdownControl.Refresh();
}
m_loadReportSubjects();
m_renderActions();
}
function m_stageDropdownControl_OnRefreshComplete()
{
if (m_showOverallStage == true) {
this.SetValue(m_PKStage);
}
}
function m_stageDropdownControl_OnChange(pPKStage)
{
var m_PKStageOld = m_PKStage;
var i;
var bReplace = false;
if (m_showOverallStage == true) {
m_PKStage = pPKStage;
m_cboSetStage.DoCallBackManual("studentreportingperiodstage", "set", "PK_StudentReportingPeriod=" + m_PKStudentReportingPeriod + "&Value=" + m_PKStage);
if ((typeof m_subjectControls != "undefined") && (m_subjectControls != null)) {
if (m_PKStageOld != pPKStage) {
bReplace = confirm("Would you like to replace the current Teacher Comment for EACH SUBJECT with the default for this stage?")
}
for(i=0;i < m_subjectControls.length; i++) {
if (m_subjectControls[i].SetStage)
m_subjectControls[i].SetStage(pPKStage, m_stageDropdownControl.GetText(), bReplace);
}
}
}
}
function m_cboSetStage_Complete(responseText, responseXML)
{
// success
}
function m_loadReportSubjects()
{
var oXmlSubject = null;
var oSubjectControl = null;
var oSubjectContent = null;
var oListContent = null;
var oListControl = null;
var oXmlList = null;
var iPKSubject;
var iPKStudentReportingPeriodSchoolList;
var i = 0;
var iCount = 0;
var bShowOverallAchievement = false;
var bShowSchoolQuartile = false;
var bShowGradeNumbers = false;
var bUseBinaryScale = false;
var sListItemName = null;
var o;
/* Cleanup controls */
if (m_subjectControls)
{
o = m_subjectControls.pop();
while(o)
{
if (o.Finalise) {
o.Finalise();
}
o = m_subjectControls.pop()
}
}
m_subjectControls = null;
m_contentContainer.innerHTML = '';
m_menuControl.ClearAll();
/* Count the number of subjects */
oXmlSubject = m_xmlSubjectsList.documentElement.firstChild;
while(oXmlSubject != null){
iCount ++;
oXmlSubject = oXmlSubject.nextSibling;
}
m_subjectControls = new Array(iCount);
oXmlSubject = m_xmlSubjectsList.documentElement.firstChild;
while(oXmlSubject != null){
oSubjectContent = document.createElement("DIV");
oSubjectContent.id = "reportControlContent_" + i;
m_contentContainer.appendChild(oSubjectContent);
iPKSubject = oXmlSubject.getAttribute("pk_subject");
/*Kinders don't get quantative assessment*/
if (m_showQuantitativeAssessment == false)
{
bShowOverallAchievement = false;
bShowSchoolQuartile = false;
bShowGradeNumbers = false;
} else {
bShowOverallAchievement = true; // always shown now
switch(m_rankingOption + "")
{
case "1": // Grade numbers
if (systemSettings.ShowCohortCounts.toLowerCase() == "true")
{
bShowGradeNumbers = true;
} else {
bShowGradeNumbers = false;
}
break;
case "2": // Quartile
bShowSchoolQuartile = true;
break;
}
}
oSubjectControl = new ReportSubjectControl(oSubjectContent, iPKSubject, m_PKStudentReportingPeriod, m_PKStage, m_stageName, bShowOverallAchievement, bShowSchoolQuartile, m_subjectQuartiles, m_strandAchievementLevels, m_showEffort, m_effort1, m_effort2, m_effort3, m_effort4, bShowGradeNumbers, m_showAchievementContinuum, m_showSubjectComments, m_subjectCommentMaxLength, m_scaleOverride);
m_subjectControls[i] = oSubjectControl;
m_menuControl.AddMenuItem(i, oXmlSubject.getAttribute("abbreviatedname"), 50)
i++;
oXmlSubject = oXmlSubject.nextSibling;
}
if (systemSettings.UseNewLists.toLowerCase() == "true")
{
oXmlList = m_xmlListsList.documentElement.firstChild;
while(oXmlList != null) {
oListContent = document.createElement("DIV");
oListContent.id = "reportControlContent_" + i;
m_contentContainer.appendChild(oListContent);
iPKStudentReportingPeriodSchoolList = oXmlList.getAttribute("pk_studentreportingperiodschoollist");
sListItemName = oXmlList.getAttribute("listitemname");
bUseBinaryScale = (oXmlList.getAttribute("usebinaryscale").toLowerCase() == "true");
oListControl = new ReportSchoolListControl(oListContent, iPKStudentReportingPeriodSchoolList, bUseBinaryScale, sListItemName);
m_subjectControls.push(oListControl);
m_menuControl.AddMenuItem(i, oXmlList.getAttribute("listabbreviatedname"), 50)
i++;
oXmlList = oXmlList.nextSibling;
}
} else {
var oSchoolActivitiesControl = null;
var oSchoolActivitiesContent = null;
oSchoolActivitiesContent = document.createElement("DIV");
oSchoolActivitiesContent.id = "reportControlContent_" + i;
m_contentContainer.appendChild(oSchoolActivitiesContent);
oSchoolActivitiesControl = new ReportSchoolActivitiesControl(oSchoolActivitiesContent, m_PKStudentReportingPeriod);
m_subjectControls[i] = oSchoolActivitiesControl;
m_menuControl.AddMenuItem(i, systemSettings.ActivitiesName, 120)
i++;
var oSchoolValuesControl = null;
var oSchoolValuesContent = null;
oSchoolValuesContent = document.createElement("DIV");
oSchoolValuesContent.id = "reportControlContent_" + i;
m_contentContainer.appendChild(oSchoolValuesContent);
oSchoolValuesControl = new ReportSchoolValuesControl(oSchoolValuesContent, m_PKStudentReportingPeriod, m_schoolValuesAchievementLevels);
m_subjectControls[i] = oSchoolValuesControl;
m_menuControl.AddMenuItem(i, systemSettings.ValuesName, 90)
i++;
var oSchoolBehavioursControl = null;
var oSchoolBehavioursContent = null;
oSchoolBehavioursContent = document.createElement("DIV");
oSchoolBehavioursContent.id = "reportControlContent_" + i;
m_contentContainer.appendChild(oSchoolBehavioursContent);
oSchoolBehavioursControl = new ReportSchoolBehavioursControl(oSchoolBehavioursContent, m_PKStudentReportingPeriod, m_schoolBehavioursAchievementLevels);
m_subjectControls[i] = oSchoolBehavioursControl;
m_menuControl.AddMenuItem(i, systemSettings.LearningBehavioursName, 90)
i++;
}
var oTeacherCommentContent = null;
if (m_showTeacherComment == true)
{
oTeacherCommentContent = document.createElement("DIV");
oTeacherCommentContent.id = "reportControlContent_" + i;
m_contentContainer.appendChild(oTeacherCommentContent);
oTeacherCommentControl = new ReportCommentControl(oTeacherCommentContent, m_PKStudentReportingPeriod, 'studentreportingperiodteachercomment', 'Teacher Comment', m_teacherCommentMaxLength);
m_subjectControls[i] = oTeacherCommentControl;
m_menuControl.AddMenuItem(i, "Teacher Comment", 90)
i++;
}
var oPrincipalCommentContent = null;
if (m_showPrincipalComment == true)
{
oPrincipalCommentContent = document.createElement("DIV");
oPrincipalCommentContent.id = "reportControlContent_" + i;
m_contentContainer.appendChild(oPrincipalCommentContent);
oPrincipalCommentControl = new ReportCommentControl(oPrincipalCommentContent, m_PKStudentReportingPeriod, 'studentreportingperiodprincipalcomment', 'Principal Comment', m_principalCommentMaxLength);
m_subjectControls[i] = oPrincipalCommentControl;
m_menuControl.AddMenuItem(i, "Principal Comment", 90)
i++;
}
var oReportMiscellaneousControl = null;
var oReportMiscellaneousContent = null
oReportMiscellaneousContent = document.createElement("DIV");
oReportMiscellaneousContent.id = "reportControlContent_" + i;
m_contentContainer.appendChild(oReportMiscellaneousContent);
oReportMiscellaneousControl = new ReportMiscellaneousControl(oReportMiscellaneousContent, m_PKStudentReportingPeriod, m_daysAbsent);
m_subjectControls[i] = oReportMiscellaneousControl;
m_menuControl.AddMenuItem(i, "Days Absent", 90)
i++;
m_menuControl.InitialiseMenu();
m_menuControl.SelectMenuItem(m_currentSubject);
m_computeEnabledState();
}
m_menuControl.OnSelectMenuItem = function(pID)
{
m_currentSubject = pID;
}
function m_findStudent()
{
var oXmlStudent;
oXmlStudent = m_xmlStudentList.documentElement.firstChild;
while(oXmlStudent != null){
if (oXmlStudent.getAttribute("pk_student") == m_PKStudent) {
return oXmlStudent;
}
oXmlStudent = oXmlStudent.nextSibling;
}
return null;
}
function m_renderActions()
{
var oLink;
var oText;
var oFinalised;
var oReportDescription;
oReportDescription = m_reportTemplatePaperSize + ' | ' + m_reportTemplateFontName + ' | ' + m_reportTemplateCommentJustification;
m_actionsContainerInner.innerHTML = "";
oLink = document.createElement("A");
oLink.className = "ReportControlActionLink";
oLink.target = "_new";
oLink.href = "reports/report.aspx?pk=" + m_PKStudentReportingPeriod + "&pk_reporttemplate=" + m_PKReportTemplate;
oLink.innerHTML = "Print Report";
oLink.title = oReportDescription;
m_actionsContainerInner.appendChild(oLink);
if (m_showViewXMLOption == true)
{
oLink = document.createElement("A");
oLink.className = "ReportControlActionLink";
oLink.target = "_new";
oLink.href = "Report.Asp?xml=true&pk=" + m_PKStudentReportingPeriod;
oLink.innerHTML = "View XML";
m_actionsContainerInner.appendChild(oLink);
}
m_actionsContainerInner.appendChild(document.createElement("BR"));
oFinalised = new BooleanToggleControl(m_actionsContainerInner, "studentreportingperiodfinalisedteacher", "set", "PK_StudentReportingPeriod", m_PKStudentReportingPeriod, m_isFinalisedByTeacher)
oFinalised.SetDisabled(!m_allowTeacherFinalise);
oText = document.createElement("SPAN");
oText.innerHTML = "this report is finalised (Teacher)";
m_actionsContainerInner.appendChild(oText);
m_actionsContainerInner.appendChild(document.createElement("BR"));
oFinalised = new BooleanToggleControl(m_actionsContainerInner, "studentreportingperiodfinalisedprincipal", "set", "PK_StudentReportingPeriod", m_PKStudentReportingPeriod, m_isFinalisedByPrincipal)
oFinalised.SetDisabled(!m_allowPrincipalFinalise);
oText = document.createElement("SPAN");
oText.innerHTML = "this report is finalised (Principal)";
m_actionsContainerInner.appendChild(oText);
m_actionsContainerInner.appendChild(document.createElement("BR"));
//Prime Learning
oFinalised = new BooleanToggleControl(m_actionsContainerInner, "studentreportingperiodfinalisedreviewer", "set", "PK_StudentReportingPeriod", m_PKStudentReportingPeriod, m_isFinalisedByReviewer)
oFinalised.SetDisabled(!m_allowReviewerFinalise);
oText = document.createElement("SPAN");
oText.innerHTML = "this report is finalised (Reviewer)";
m_actionsContainerInner.appendChild(oText);
m_actionsContainerInner.appendChild(document.createElement("BR"));
}
function m_computeEnabledState()
{
var bEnabled = true;
var bFinalisedByPrincipal = (m_isFinalisedByPrincipal.toLowerCase() == 'true')
var bReportIsFromCurrentReportingPeriod = (m_reportIsFromCurrentReportingPeriod.toLowerCase() == 'true')
if ((m_allowModifyReportsFinalisedByPrincipal == false) && (bFinalisedByPrincipal == true))
{
bEnabled = false;
}
if ((m_allowModifyArchivedReports == false) && (bReportIsFromCurrentReportingPeriod == false))
{
bEnabled = false;
}
m_setEnabled(bEnabled);
}
function m_setEnabled(pbEnabled)
{
var i, o;
if (!m_subjectControls) return;
for(i=0; i
Class: " + oXmlStudentReportingPeriod.getAttribute("schoolclassname")
+ "
Reporting Period: " + oXmlStudentReportingPeriod.getAttribute("reportingperiodname") + ""
+ "
Teacher Name: " + oXmlStudentReportingPeriod.getAttribute("teachername") + "";
m_cboListReportSubjects.DoCallBackManual("reportsubjects_sort_ex", "list", "PK_School=" + m_PKSchool + "&PK_Grade=" + m_PKGrade);
}
function m_cboListReportSubjects_Complete(responseText, responseXML)
{
m_xmlSubjectsList = responseXML;
m_cboListReportLists.DoCallBackManual("reportlists", "list", "PK_StudentReportingPeriod=" + m_PKStudentReportingPeriod);
}
function m_cboListReportLists_Complete(responseText, responseXML)
{
m_xmlListsList = responseXML;
if (m_showOverallStage == true) {
m_stageDropdownControl.Refresh();
}
m_loadReportSubjects();
m_renderActions();
}
function m_stageDropdownControl_OnRefreshComplete()
{
if (m_showOverallStage == true) {
this.SetValue(m_PKStage);
}
}
function m_stageDropdownControl_OnChange(pPKStage)
{
var m_PKStageOld = m_PKStage;
var i;
var bReplace = false;
if (m_showOverallStage == true) {
m_PKStage = pPKStage;
m_cboSetStage.DoCallBackManual("studentreportingperiodstage", "set", "PK_StudentReportingPeriod=" + m_PKStudentReportingPeriod + "&Value=" + m_PKStage);
if ((typeof m_subjectControls != "undefined") && (m_subjectControls != null)) {
if (m_PKStageOld != pPKStage) {
bReplace = confirm("Would you like to replace the current Teacher Comment for EACH SUBJECT with the default for this stage?")
}
for(i=0;i < m_subjectControls.length; i++) {
if (m_subjectControls[i].SetStage)
m_subjectControls[i].SetStage(pPKStage, m_stageDropdownControl.GetText(), bReplace);
}
}
}
}
function m_cboSetStage_Complete(responseText, responseXML)
{
// success
}
function m_loadReportSubjects()
{
var oXmlSubject = null;
var oSubjectControl = null;
var oSubjectContent = null;
var oListContent = null;
var oListControl = null;
var oXmlList = null;
var iPKSubject;
var iPKStudentReportingPeriodSchoolList;
var i = 0;
var iCount = 0;
var bShowOverallAchievement = false;
var bShowSchoolQuartile = false;
var bShowGradeNumbers = false;
var bUseBinaryScale = false;
var sListItemName = null;
var o;
/* Cleanup controls */
if (m_subjectControls)
{
o = m_subjectControls.pop();
while(o)
{
if (o.Finalise) {
o.Finalise();
}
o = m_subjectControls.pop()
}
}
m_subjectControls = null;
m_contentContainer.innerHTML = '';
m_menuControl.ClearAll();
/* Count the number of subjects */
oXmlSubject = m_xmlSubjectsList.documentElement.firstChild;
while(oXmlSubject != null){
iCount ++;
oXmlSubject = oXmlSubject.nextSibling;
}
m_subjectControls = new Array(iCount);
oXmlSubject = m_xmlSubjectsList.documentElement.firstChild;
while(oXmlSubject != null){
oSubjectContent = document.createElement("DIV");
oSubjectContent.id = "reportControlContent_" + i;
m_contentContainer.appendChild(oSubjectContent);
iPKSubject = oXmlSubject.getAttribute("pk_subject");
/*Kinders don't get quantative assessment*/
if (m_showQuantitativeAssessment == false)
{
bShowOverallAchievement = false;
bShowSchoolQuartile = false;
bShowGradeNumbers = false;
} else {
bShowOverallAchievement = true; // always shown now
switch(m_rankingOption + "")
{
case "1": // Grade numbers
if (systemSettings.ShowCohortCounts.toLowerCase() == "true")
{
bShowGradeNumbers = true;
} else {
bShowGradeNumbers = false;
}
break;
case "2": // Quartile
bShowSchoolQuartile = true;
break;
}
}
oSubjectControl = new ReportSubjectControl(oSubjectContent, iPKSubject, m_PKStudentReportingPeriod, m_PKStage, m_stageName, bShowOverallAchievement, bShowSchoolQuartile, m_subjectQuartiles, m_strandAchievementLevels, m_showEffort, m_effort1, m_effort2, m_effort3, m_effort4, bShowGradeNumbers, m_showAchievementContinuum, m_showSubjectComments, m_subjectCommentMaxLength, m_scaleOverride);
m_subjectControls[i] = oSubjectControl;
m_menuControl.AddMenuItem(i, oXmlSubject.getAttribute("abbreviatedname"), 50)
i++;
oXmlSubject = oXmlSubject.nextSibling;
}
if (systemSettings.UseNewLists.toLowerCase() == "true")
{
oXmlList = m_xmlListsList.documentElement.firstChild;
while(oXmlList != null) {
oListContent = document.createElement("DIV");
oListContent.id = "reportControlContent_" + i;
m_contentContainer.appendChild(oListContent);
iPKStudentReportingPeriodSchoolList = oXmlList.getAttribute("pk_studentreportingperiodschoollist");
sListItemName = oXmlList.getAttribute("listitemname");
bUseBinaryScale = (oXmlList.getAttribute("usebinaryscale").toLowerCase() == "true");
oListControl = new ReportSchoolListControl(oListContent, iPKStudentReportingPeriodSchoolList, bUseBinaryScale, sListItemName);
m_subjectControls.push(oListControl);
m_menuControl.AddMenuItem(i, oXmlList.getAttribute("listabbreviatedname"), 50)
i++;
oXmlList = oXmlList.nextSibling;
}
} else {
var oSchoolActivitiesControl = null;
var oSchoolActivitiesContent = null;
oSchoolActivitiesContent = document.createElement("DIV");
oSchoolActivitiesContent.id = "reportControlContent_" + i;
m_contentContainer.appendChild(oSchoolActivitiesContent);
oSchoolActivitiesControl = new ReportSchoolActivitiesControl(oSchoolActivitiesContent, m_PKStudentReportingPeriod);
m_subjectControls[i] = oSchoolActivitiesControl;
m_menuControl.AddMenuItem(i, systemSettings.ActivitiesName, 120)
i++;
var oSchoolValuesControl = null;
var oSchoolValuesContent = null;
oSchoolValuesContent = document.createElement("DIV");
oSchoolValuesContent.id = "reportControlContent_" + i;
m_contentContainer.appendChild(oSchoolValuesContent);
oSchoolValuesControl = new ReportSchoolValuesControl(oSchoolValuesContent, m_PKStudentReportingPeriod, m_schoolValuesAchievementLevels);
m_subjectControls[i] = oSchoolValuesControl;
m_menuControl.AddMenuItem(i, systemSettings.ValuesName, 90)
i++;
var oSchoolBehavioursControl = null;
var oSchoolBehavioursContent = null;
oSchoolBehavioursContent = document.createElement("DIV");
oSchoolBehavioursContent.id = "reportControlContent_" + i;
m_contentContainer.appendChild(oSchoolBehavioursContent);
oSchoolBehavioursControl = new ReportSchoolBehavioursControl(oSchoolBehavioursContent, m_PKStudentReportingPeriod, m_schoolBehavioursAchievementLevels);
m_subjectControls[i] = oSchoolBehavioursControl;
m_menuControl.AddMenuItem(i, systemSettings.LearningBehavioursName, 90)
i++;
}
var oTeacherCommentContent = null;
if (m_showTeacherComment == true)
{
oTeacherCommentContent = document.createElement("DIV");
oTeacherCommentContent.id = "reportControlContent_" + i;
m_contentContainer.appendChild(oTeacherCommentContent);
oTeacherCommentControl = new ReportCommentControl(oTeacherCommentContent, m_PKStudentReportingPeriod, 'studentreportingperiodteachercomment', 'Teacher Comment', m_teacherCommentMaxLength);
m_subjectControls[i] = oTeacherCommentControl;
m_menuControl.AddMenuItem(i, "Teacher Comment", 90)
i++;
}
var oPrincipalCommentContent = null;
if (m_showPrincipalComment == true)
{
oPrincipalCommentContent = document.createElement("DIV");
oPrincipalCommentContent.id = "reportControlContent_" + i;
m_contentContainer.appendChild(oPrincipalCommentContent);
oPrincipalCommentControl = new ReportCommentControl(oPrincipalCommentContent, m_PKStudentReportingPeriod, 'studentreportingperiodprincipalcomment', 'Principal Comment', m_principalCommentMaxLength);
m_subjectControls[i] = oPrincipalCommentControl;
m_menuControl.AddMenuItem(i, "Principal Comment", 90)
i++;
}
var oReportMiscellaneousControl = null;
var oReportMiscellaneousContent = null
oReportMiscellaneousContent = document.createElement("DIV");
oReportMiscellaneousContent.id = "reportControlContent_" + i;
m_contentContainer.appendChild(oReportMiscellaneousContent);
oReportMiscellaneousControl = new ReportMiscellaneousControl(oReportMiscellaneousContent, m_PKStudentReportingPeriod, m_daysAbsent);
m_subjectControls[i] = oReportMiscellaneousControl;
m_menuControl.AddMenuItem(i, "Days Absent", 90)
i++;
m_menuControl.InitialiseMenu();
m_menuControl.SelectMenuItem(m_currentSubject);
m_computeEnabledState();
}
m_menuControl.OnSelectMenuItem = function(pID)
{
m_currentSubject = pID;
}
function m_findStudent()
{
var oXmlStudent;
oXmlStudent = m_xmlStudentList.documentElement.firstChild;
while(oXmlStudent != null){
if (oXmlStudent.getAttribute("pk_student") == m_PKStudent) {
return oXmlStudent;
}
oXmlStudent = oXmlStudent.nextSibling;
}
return null;
}
function m_renderActions()
{
var oLink;
var oText;
var oFinalised;
var oReportDescription;
oReportDescription = m_reportTemplatePaperSize + ' | ' + m_reportTemplateFontName + ' | ' + m_reportTemplateCommentJustification;
m_actionsContainerInner.innerHTML = "";
oLink = document.createElement("A");
oLink.className = "ReportControlActionLink";
oLink.target = "_new";
// 18/05/2021 WR link has been disabled so that staff can't see the error
//oLink.href = "reports/report.aspx?pk=" + m_PKStudentReportingPeriod + "&pk_reporttemplate=" + m_PKReportTemplate;
oLink.href = "https://intranet.cg.catholic.edu.au/informationsystems/primaryReporting/Pages/SchoolOnTrackACTReport.aspx"
oLink.innerHTML = "Print Report";
oLink.title = oReportDescription;
m_actionsContainerInner.appendChild(oLink);
if (m_showViewXMLOption == true)
{
oLink = document.createElement("A");
oLink.className = "ReportControlActionLink";
oLink.target = "_new";
oLink.href = "Report.Asp?xml=true&pk=" + m_PKStudentReportingPeriod;
oLink.innerHTML = "View XML";
m_actionsContainerInner.appendChild(oLink);
}
m_actionsContainerInner.appendChild(document.createElement("BR"));
oFinalised = new BooleanToggleControl(m_actionsContainerInner, "studentreportingperiodfinalisedteacher", "set", "PK_StudentReportingPeriod", m_PKStudentReportingPeriod, m_isFinalisedByTeacher)
oFinalised.SetDisabled(!m_allowTeacherFinalise);
oText = document.createElement("SPAN");
oText.innerHTML = "this report is finalised (Teacher)";
m_actionsContainerInner.appendChild(oText);
m_actionsContainerInner.appendChild(document.createElement("BR"));
oFinalised = new BooleanToggleControl(m_actionsContainerInner, "studentreportingperiodfinalisedprincipal", "set", "PK_StudentReportingPeriod", m_PKStudentReportingPeriod, m_isFinalisedByPrincipal)
oFinalised.SetDisabled(!m_allowPrincipalFinalise);
oText = document.createElement("SPAN");
oText.innerHTML = "this report is finalised (Principal)";
m_actionsContainerInner.appendChild(oText);
m_actionsContainerInner.appendChild(document.createElement("BR"));
//Prime Learning
oFinalised = new BooleanToggleControl(m_actionsContainerInner, "studentreportingperiodfinalisedreviewer", "set", "PK_StudentReportingPeriod", m_PKStudentReportingPeriod, m_isFinalisedByReviewer)
oFinalised.SetDisabled(!m_allowReviewerFinalise);
oText = document.createElement("SPAN");
oText.innerHTML = "this report is finalised (Reviewer)";
m_actionsContainerInner.appendChild(oText);
m_actionsContainerInner.appendChild(document.createElement("BR"));
}
function m_computeEnabledState()
{
var bEnabled = true;
var bFinalisedByPrincipal = (m_isFinalisedByPrincipal.toLowerCase() == 'true')
var bReportIsFromCurrentReportingPeriod = (m_reportIsFromCurrentReportingPeriod.toLowerCase() == 'true')
if ((m_allowModifyReportsFinalisedByPrincipal == false) && (bFinalisedByPrincipal == true))
{
bEnabled = false;
}
if ((m_allowModifyArchivedReports == false) && (bReportIsFromCurrentReportingPeriod == false))
{
bEnabled = false;
}
m_setEnabled(bEnabled);
}
function m_setEnabled(pbEnabled)
{
var i, o;
if (!m_subjectControls) return;
for(i=0; i 0) {
m_daysAbsentValues += "|";
m_daysAbsentDisplayValues += "|";
}
m_daysAbsentValues += i;
m_daysAbsentDisplayValues += i;
/*if (Math.round(i) == i) m_daysAbsentDisplayValues += ".0";*/
}
}
}
function ReportSchoolActivitiesControl(pContainer, pPKStudentReportingPeriod)
{
var self = this;
var m_container = pContainer;
var m_PKStudentReportingPeriod = pPKStudentReportingPeriod;
var m_listView = null;
var m_objectCache = null;
var m_bLoaded = false;
var m_bQueuedSetEnabled = false;
var m_bQueuedSetEnabledValue = null;
this.SetEnabled = m_setEnabled;
this.Finalise = m_finalise;
////////////////////////////////////////////////////////testing
this.requiredmarks = 0;
m_initialise();
function m_initialise()
{
m_listView = new ListViewControl(m_container, "studentreportingperiodschoolactivities", "PK_SchoolActivity", "Participated|SchoolActivityName", " |" + systemSettings.ActivityName, "40|850", 890, 340);
m_listView.OnCellRender = m_listView_OnCellRender;
m_listView.OnRefreshComplete = m_listView_OnRefreshComplete;
m_listView.RefreshList('PK_StudentReportingPeriod=' + m_PKStudentReportingPeriod);
}
function m_listView_OnRefreshComplete()
{
m_bLoaded = true;
}
function m_finalise()
{
var o
if (m_objectCache) {
o = m_objectCache.pop();
while(o) {
o.Finalise();
delete o;
o = null;
o = m_objectCache.pop();
}
m_objectCache = null;
}
delete m_listView.OnRefreshComplete;
delete m_listView.OnCellRender;
m_listView.Finalise();
m_listView = null;
}
function m_listView_OnCellRender(pPK_SchoolActivity, pColumnIdentifier, pValue, pCellTD)
{
var o = null;
if (pColumnIdentifier == 'participated') {
pCellTD.align = "center";
o = new RelationshipToggleControl(pCellTD, "studentreportingperiodschoolactivities", "PK_StudentReportingPeriod", "PK_SchoolActivity", m_PKStudentReportingPeriod, pPK_SchoolActivity, pValue)
if(m_bQueuedSetEnabled == true) {
o.SetEnabled(m_bQueuedSetEnabledValue);
}
if (!m_objectCache) {
m_objectCache = new Array();
}
m_objectCache.push(o);
return true;
}
return false;
}
function m_setEnabled(pbEnabled)
{
var i,o;
if (m_bLoaded == false) {
m_bQueuedSetEnabled = true;
m_bQueuedSetEnabledValue = pbEnabled;
return;
}
if (m_objectCache)
{
for(i=0; i 0) m_levelValues += "|";
m_levelValues += xml.getAttribute("pk_schoollistlevel");
if (m_levelNames.length > 0) m_levelNames += "|";
m_levelNames += xml.getAttribute("schoollistlevelname");
xml = xml.nextSibling;
}
m_loadItems();
}
function m_loadItems()
{
m_listView = new ListViewControl(m_container, "studentreportingperiodschoollistitems", "PK_StudentReportingPeriodSchoolListItem", "SchoolListItemName|FK_SchoolListLevel", m_ListItemName + (m_useBinaryScale == true ? "|Yes/No" : "|Achievement Level"), "340|550", 890, 340);
m_listView.OnCellRender = m_listView_OnCellRender;
m_listView.OnRefreshComplete = m_listView_OnRefreshComplete;
m_listView.RefreshList('PK_StudentReportingPeriodSchoolList=' + m_PKStudentReportingPeriodSchoolList);
}
function m_listView_OnCellRender(pPK_StudentReportingPeriodSchoolListItem, pColumnIdentifier, pValue, pCellTD)
{
var o = null;
if (pColumnIdentifier == 'fk_schoollistlevel') {
o = new OptionGroupControl(pCellTD, "studentreportingperiodschoollistitemlevel", "PK_StudentReportingPeriodSchoolListItem", pPK_StudentReportingPeriodSchoolListItem, m_levelNames, m_levelValues, pValue)
if(m_bQueuedSetEnabled == true) {
o.SetEnabled(m_bQueuedSetEnabledValue);
}
if (!m_objectCache) {
m_objectCache = new Array();
}
m_objectCache.push(o);
return true;
}
return false;
}
function m_listView_OnRefreshComplete()
{
m_bLoaded = true;
}
function m_finalise()
{
var o
if (m_objectCache) {
o = m_objectCache.pop();
while(o) {
o.Finalise();
delete o;
o = null;
o = m_objectCache.pop();
}
m_objectCache = null;
}
delete m_listView.OnRefreshComplete;
delete m_listView.OnCellRender;
m_listView.Finalise();
m_listView = null;
}
function m_setEnabled(pbEnabled)
{
var i,o;
if (m_bLoaded == false) {
m_bQueuedSetEnabled = true;
m_bQueuedSetEnabledValue = pbEnabled;
return;
}
if (m_objectCache)
{
for(i=0; i 0)
deleteImageControl = document.createElement("IMG");
if (bDeleteDisabled == true) {
deleteImageControl.src = "images/delete-disabled.png"
deleteImageControl.title = "Cannot delete this " + m_displayValueName + " because it is used in " + pValue + " report(s).";
} else {
deleteImageControl.src = "images/delete.png"
deleteImageControl.title = "Delete " + m_displayValueName;
}
deleteImageControl.height = "16";
deleteImageControl.width = "16";
pCellTD.appendChild(deleteImageControl);
pCellTD.align = "center";
return true;
}
return false;
}
m_listView.OnCellClick = function(pPKObject, pColumnIdentifier, pValue)
{
var bDeleteDisabled;
if (pColumnIdentifier == "editvalue") {
m_PKObject = pPKObject;
m_textInputControl.value = pValue;
m_setMode("update");
} else if (pColumnIdentifier == "deletevalue") {
bDeleteDisabled = (pValue > 0);
if (bDeleteDisabled == true) {
alert("Cannot delete this " + m_displayValueName + " because it is used in " + pValue + " report(s).");
return;
}
m_delete(pPKObject);
}
}
function m_addEditButton_onClick()
{
var params;
if (m_textInputControl.value.length == 0) {
alert("Text field cannot be blank.");
return;
}
if (m_mode == 'update') {
params = m_PKObjectName + "=" + m_PKObject + "&" + m_displayValueField + "=" + escape(m_textInputControl.value);
} else {
params = "PK_School=" + m_PKSchool + "&" + m_displayValueField + "=" + escape(m_textInputControl.value);
}
m_cboSave.DoCallBackManual(m_objectIdentifier, m_mode, params);
}
function m_cancelButton_onClick()
{
m_setMode("add");
}
function m_cboSave_Complete(responseText, responseXML)
{
//m_listView.RefreshList('PK_School=' + m_PKSchool);
m_load();
m_setMode("add");
}
function m_cboGeneric_Error(status, statusText, responseText)
{
ShowDebugWindow(responseText);
}
function m_delete(pObjectPK)
{
if (confirm("Are you sure you want to delete this " + m_displayValueName + "?") == false) {
return;
}
m_cboDelete.DoCallBackManual(m_objectIdentifier, "delete", m_PKObjectName + "=" + pObjectPK);
}
function m_cboDelete_Complete(responseText, responseXML)
{
m_load();
//m_listView.RefreshList('PK_School=' + m_PKSchool);
m_setMode("add");
}
}
function SchoolListControl2(pContainer, pPKSchoolInitial, pbAllowChangeSchool)
{
var self = this;
/*Parameters*/
var m_container = pContainer;
var m_allowChangeSchool = pbAllowChangeSchool; /* allow the end user to change the school */
var m_PKSchoolInitial = pPKSchoolInitial;
var m_PKSchool = null;
var m_PKList = null;
var m_PKSchoolList = null;
var m_listName = null;
var m_listItemName = null;
var m_useBinaryScale = null;
/* HTML controls */
var m_schoolsList = null;
var m_listList = null;
var m_schoolListContainer = null;
var m_schoolListModifyControlContainer = null;
var m_schoolListScaleModifyControlContainer = null;
var m_contentContainer = null;
var m_configureLockControl = null;
var m_lockContainer = null;
var m_cboGetSchoolList = new CallBackObject();
m_cboGetSchoolList.OnComplete =m_cboGetSchoolList_Complete;
m_cboGetSchoolList.OnError = m_cboGeneric_Error;
this.Refresh = m_refresh;
m_initialise();
function m_initialise()
{
m_listList = new DropdownControl(m_container, "lists", "PK_List", "ListName", false, false, false, true, 200);
m_listList.OnChange = m_listList_OnChange;
m_schoolsList = new DropdownControl(m_container, "schools", "PK_School", "SchoolName", false, false, false, true, 400);
m_schoolsList.OnChange = m_schoolsList_OnChange;
m_schoolsList.OnRefreshComplete = m_schoolsList_OnRefreshComplete;
m_lockContainer = document.createElement("DIV");
m_container.appendChild(m_lockContainer);
m_contentContainer = document.createElement("DIV");
m_container.appendChild(m_contentContainer);
m_contentContainer.appendChild(document.createElement("HR"));
m_schoolListContainer = document.createElement("DIV");
m_contentContainer.appendChild(m_schoolListContainer);
m_contentContainer.appendChild(document.createElement("HR"));
m_schoolListModifyControlContainer = document.createElement("DIV");
m_contentContainer.appendChild(m_schoolListModifyControlContainer);
m_contentContainer.appendChild(document.createElement("HR"));
m_schoolListScaleModifyControlContainer = document.createElement("DIV");
m_contentContainer.appendChild(m_schoolListScaleModifyControlContainer);
}
function m_schoolsList_OnRefreshComplete()
{
m_schoolsList.SetValue(m_PKSchoolInitial);
if(m_allowChangeSchool == false ) {
m_schoolsList.SetEnabled(false);
}
}
function m_schoolsList_OnChange(pPKSchool)
{
m_PKSchool = pPKSchool;
m_loadSchoolList();
}
function m_listList_OnChange(pPKList)
{
m_PKList = pPKList;
m_loadSchoolList();
}
function m_refresh()
{
m_loadSchoolList();
}
function m_loadSchoolList()
{
if ((!m_PKSchool) || (!m_PKList)) {
return;
}
m_contentContainer.style.display = "none";
m_lockContainer.innerHTML = "";
m_configureLockControl = new ConfigureLockControl(m_lockContainer, m_PKSchool);
m_configureLockControl.OnComplete = m_configureLockControl_OnComplete;
}
function m_configureLockControl_OnComplete(pbLocked)
{
if (!pbLocked) {
m_contentContainer.style.display = "block";
m_cboGetSchoolList.DoCallBackManual("schoolist", "get", "PK_List=" + m_PKList + "&PK_School=" + m_PKSchool);
}
}
function m_cboGetSchoolList_Complete(responseText, responseXML)
{
var xml = responseXML.lastChild.firstChild;
var useList;
var text;
useList = xml.getAttribute("uselist");
m_PKSchoolList = xml.getAttribute("pk_schoollist");
m_listName = xml.getAttribute("listname");
m_listItemName = xml.getAttribute("listitemname");
m_useBinaryScale = (xml.getAttribute("usebinaryscale").toLowerCase() == 'true');
m_schoolListContainer.innerHTML = "";
new BooleanToggleControl(m_schoolListContainer, "schoolist_uselist", "set", "PK_SchoolList", m_PKSchoolList, useList, null, false);
text = document.createElement("SPAN");
text.innerHTML = "report on " + m_listName ;
m_schoolListContainer.appendChild(text);
m_schoolListModifyControlContainer.innerHTML = "";
new SchoolListModifyControl(m_schoolListModifyControlContainer, m_PKSchoolList, m_listItemName);
m_schoolListScaleModifyControlContainer.innerHTML = "";
if (m_useBinaryScale == false) {
new SchoolListScaleModifyControl(m_schoolListScaleModifyControlContainer, m_PKSchoolList, m_listItemName)
}
}
function m_cboGeneric_Error(status, statusText, responseText)
{
ShowDebugWindow(responseText);
}
}
function SchoolListModifyControl(pContainer, pPKSchoolList, pDisplayValueName)
{
var self = this;
/*Parameters*/
var m_container = pContainer;
var m_PKSchoolList = pPKSchoolList;
var m_displayValueName = pDisplayValueName;
/* Private members */
var m_PKObject = null;
var m_mode = null; // 'add' or 'update'
/* HTML controls */
var m_listView = null;
var m_addPopupContainerControl = null;
var m_textInputControl = null;
var m_titleControl = null;
var m_addButton = null;
var m_cboSave = new CallBackObject();
m_cboSave.OnComplete = m_cboSave_Complete;
m_cboSave.OnError = m_cboGeneric_Error;
var m_cboDelete = new CallBackObject();
m_cboDelete.OnComplete = m_cboDelete_Complete;
m_cboDelete.OnError = m_cboGeneric_Error;
m_initialise();
function m_initialise()
{
m_addButton = new ButtonControl(m_container, "Add " + m_displayValueName);
m_addButton.OnClick = m_addButton_OnClick;
m_listView = new ListViewControl(m_container, "schoollistitems", "PK_SchoolListItem", "SchoolListItemName|EditValue|DeleteValue", m_displayValueName + "| | ", "650|50|50", 750, 160);
m_listView.OnCellRender = m_listView_OnCellRender;
m_listView.OnCellClick = m_listView_OnCellClick;
m_listView.RefreshList('PK_SchoolList=' + m_PKSchoolList);
m_addPopupContainerControl = new PopupContainerControl(m_container, 800, 200, 400, 100, "Add", "Add");
m_addPopupContainerControl.OnConfirm = m_addPopupContainerControl_OnConfirm;
m_addPopupContainerControl.OnCancel = m_addPopupContainerControl_OnCancel;
m_titleControl = document.createElement("DIV");
m_titleControl.className = "SchoolListControlTitleControl";
m_addPopupContainerControl.GetContainer().appendChild(m_titleControl);
m_textInputControl = document.createElement("INPUT");
m_textInputControl.type = "text";
m_textInputControl.value = ""
m_textInputControl.className = "SchoolListControlTextControl";
m_addPopupContainerControl.GetContainer().appendChild(m_textInputControl);
}
function m_addButton_OnClick()
{
m_setMode("add");
}
function m_setMode(pMode)
{
m_mode = pMode;
if (m_mode == "update") {
m_addPopupContainerControl.SetConfirmText("Save");
m_addPopupContainerControl.SetTitleText("Edit " + m_displayValueName);
} else {
m_addPopupContainerControl.SetConfirmText("Add");
m_addPopupContainerControl.SetTitleText("Add " + m_displayValueName);
m_textInputControl.value = "";
}
m_addPopupContainerControl.Show();
m_textInputControl.focus();
m_textInputControl.select();
}
function m_listView_OnCellRender(pPKObject, pColumnIdentifier, pValue, pCellTD)
{
var editImageControl;
var deleteImageControl;
var bDeleteDisabled;
if (pColumnIdentifier == "editvalue") {
editImageControl = document.createElement("IMG");
editImageControl.src = "images/edit.png"
editImageControl.height = "16";
editImageControl.width = "16";
editImageControl.title = "Edit " + m_displayValueName;
pCellTD.appendChild(editImageControl);
pCellTD.align = "center";
return true;
}
else if (pColumnIdentifier == "deletevalue") {
bDeleteDisabled = (pValue > 0)
deleteImageControl = document.createElement("IMG");
if (bDeleteDisabled == true) {
deleteImageControl.src = "images/delete-disabled.png"
deleteImageControl.title = "Cannot delete this " + m_displayValueName + " because it is used in " + pValue + " report(s).";
} else {
deleteImageControl.src = "images/delete.png"
deleteImageControl.title = "Delete " + m_displayValueName;
}
deleteImageControl.height = "16";
deleteImageControl.width = "16";
pCellTD.appendChild(deleteImageControl);
pCellTD.align = "center";
return true;
}
return false;
}
function m_listView_OnCellClick(pPKObject, pColumnIdentifier, pValue)
{
var bDeleteDisabled;
if (pColumnIdentifier == "editvalue") {
m_PKObject = pPKObject;
m_textInputControl.value = pValue;
m_setMode("update");
} else if (pColumnIdentifier == "deletevalue") {
bDeleteDisabled = (pValue > 0);
if (bDeleteDisabled == true) {
alert("Cannot delete this " + m_displayValueName + " because it is used in " + pValue + " report(s).");
return;
}
m_delete(pPKObject);
}
}
function m_addPopupContainerControl_OnConfirm()
{
var params;
if (m_textInputControl.value.length == 0) {
alert("Text field cannot be blank.");
return;
}
if (m_mode == 'update') {
params = "PK_SchoolListItem=" + m_PKObject + "&SchoolListItemName=" + escape(m_textInputControl.value);
} else {
params = "PK_SchoolList=" + m_PKSchoolList + "&SchoolListItemName=" + escape(m_textInputControl.value);
}
m_cboSave.DoCallBackManual("schoollistitem", m_mode, params);
}
function m_addPopupContainerControl_OnCancel()
{
}
function m_cboSave_Complete(responseText, responseXML)
{
m_listView.RefreshList('PK_SchoolList=' + m_PKSchoolList);
}
function m_cboGeneric_Error(status, statusText, responseText)
{
ShowDebugWindow(responseText);
}
function m_delete(pObjectPK)
{
if (confirm("Are you sure you want to delete this " + m_displayValueName + "?") == false) {
return;
}
m_cboDelete.DoCallBackManual("schoollistitem", "delete", "PK_SchoolListItem=" + pObjectPK);
}
function m_cboDelete_Complete(responseText, responseXML)
{
m_listView.RefreshList('PK_SchoolList=' + m_PKSchoolList);
}
}
function SchoolListScaleModifyControl(pContainer, pPKSchoolList, pDisplayValueName)
{
var self = this;
/*Parameters*/
var m_container = pContainer;
var m_PKSchoolList = pPKSchoolList;
var m_displayValueName = pDisplayValueName;
/* HTML controls */
var m_listView = null;
m_initialise();
function m_initialise()
{
m_listView = new ListViewControl(m_container, "schoollistlevels", "PK_SchoolListLevel", "SchoolListLevelName|SchoolListLevelAbbreviation", "Achievement Descriptor|_Abbreviation", "600|150", 750, 160);
m_listView.OnCellRender = m_listView_OnCellRender;
m_listView.RefreshList('PK_SchoolList=' + m_PKSchoolList);
}
function m_listView_OnCellRender(pPKObject, pColumnIdentifier, pValue, pCellTD)
{
if (pColumnIdentifier == "schoollistlevelname") {
new TextControl(pCellTD, "schoollistlevel_name", "set", "PK_SchoolListLevel", pPKObject, pValue, 400, 30, null);
return true;
}
else if (pColumnIdentifier == "schoollistlevelabbreviation") {
new TextControl(pCellTD, "schoollistlevel_abbreviation", "set", "PK_SchoolListLevel", pPKObject, pValue, 50, 3, null);
return true;
}
return false;
}
}
function SchoolReportingPeriodControl(pContainer, pPKSchoolInitial, pbAllowChangeSchool)
{
var m_container = pContainer;
var m_allowChangeSchool = pbAllowChangeSchool; /* allow the end user to change the school */
var m_PKSchoolInitial = pPKSchoolInitial;
var m_PKSchool = null;
var m_schoolsList = null;
var m_contentContainer = null;
var m_PKSchoolReportingPeriod = null;
var m_reportingEnabled = null;
var m_reportingEnabledControl = null;
var m_cboGet = new CallBackObject();
m_cboGet.OnComplete = m_cboGet_Complete;
m_cboGet.OnError = m_cboGeneric_Error;
m_initialise();
function m_initialise()
{
m_schoolsList = new DropdownControl(m_container, "schools", "PK_School", "SchoolName", false, false, false, true, 400);
m_schoolsList.OnChange = m_schoolsList_OnChange;
m_schoolsList.OnRefreshComplete = m_schoolsList_OnRefreshComplete;
m_contentContainer = document.createElement("DIV");
m_contentContainer.className = "SchoolReportingPeriodContentContainer";
m_container.appendChild(m_contentContainer);
}
function m_schoolsList_OnChange(pPKSchool)
{
m_PKSchool = pPKSchool;
m_load()
}
function m_schoolsList_OnRefreshComplete()
{
m_schoolsList.SetValue(m_PKSchoolInitial);
if(m_allowChangeSchool == false ) {
m_schoolsList.SetEnabled(false);
}
}
function m_load()
{
if (!m_PKSchool) return;
m_cboGet.DoCallBackManual("schoolreportingperiod_current", "get", "PK_School=" + m_PKSchool);
}
function m_cboGet_Complete(responseText, responseXML)
{
var oText;
var xml = responseXML.lastChild.firstChild;
m_reportingEnabled = xml.getAttribute("reportingenabled");
m_PKSchoolReportingPeriod = xml.getAttribute("pk_schoolreportingperiod");
m_contentContainer.innerHTML = "";
m_reportingEnabledControl = new BooleanToggleControl(m_contentContainer, "schoolreportingperiod_reportingenabled", "set", "PK_SchoolReportingPeriod", m_PKSchoolReportingPeriod, m_reportingEnabled, null, false);
m_reportingEnabledControl.OnChangeEx = m_reportingEnabledControl_OnChangeEx;
oText = document.createElement("SPAN");
oText.innerHTML = "Enable report writing";
m_contentContainer.appendChild(oText);
m_contentContainer.appendChild(document.createElement("HR"));
oText = document.createElement("DIV");
oText.innerHTML = "Note: Once you enable reporting, all settings affecting reports will be fixed and unchangeable. For this reason it is vital, before enabling reporting for your teachers, to check that: - All subjects are configured correctly.
- All lists, such as Catholic Values are populated with the correct entries.
- All school settings, such as the school logo, motto and mission statement are correct.
- The list of teachers for each class is correct.
- The choice of report templates for printing is correct.
Once reporting is enabled, the only way to change these settings is to disable reporting (by unticking the checkbox above), which involves deleting all reports created whilst reporting was enabled.";
m_contentContainer.appendChild(oText);
}
function m_reportingEnabledControl_OnChangeEx(pChecked)
{
if (pChecked == false) {
if (confirm("Are you sure you want to disable this reporting period and, in the process, delete any reports created?") == false) {
return(true);
}
}
return(false);
}
function m_cboGeneric_Error(status, statusText, responseText)
{
ShowDebugWindow(responseText);
}
}
function SchoolSettingsControl(pContainer, pPKSchoolInitial, pbAllowChangeSchool)
{
var m_container = pContainer;
var m_allowChangeSchool = pbAllowChangeSchool; /* allow the end user to change the school */
var m_PKSchoolInitial = pPKSchoolInitial;
var m_PKSchool = null;
var m_schoolsList = null;
var m_settingsContainer = null;
var m_schoolName = null;
var m_schoolSuburb = null;
var m_schoolMissionStatement = null;
var m_interviewDetails = null;
var m_showTeacherComment = null;
var m_showPrincipalComment = null;
var m_showStudentComment = null;
var m_showParentComment = null;
var m_showEffort = null;
var m_effort1 = null;
var m_effort2 = null;
var m_effort3 = null;
var m_effort4 = null;
var m_rankingOption = null;
var m_schoolPrincipalName = null;
var m_schoolVisionStatement = null;
var m_schoolReportingPeriodName = null;
var m_showAchievementContinuum = null;
var m_achievementContinuum1 = null;
var m_achievementContinuum2 = null;
var m_achievementContinuum3 = null;
var m_achievementContinuum4 = null;
var m_achievementContinuum5 = null;
var m_showSubjectComments = null;
var m_subjectCommentMaxLength = null;
var m_teacherCommentMaxLength = null;
var m_principalCommentMaxLength = null;
var m_ldapContext = null;
// Prime Learning
var m_headingColor = null;
var m_textColor = null;
var m_absencesDate = null;
// 20070928: CG07
var m_printedReportSchoolName = null;
var m_effort1Control = null;
var m_effort2Control = null;
var m_effort3Control = null;
var m_effort4Control = null;
var m_showEffortControl = null;
var m_rankingOptionControl = null;
var m_schoolPrincipalNameControl = null;
var m_schoolVisionStatementControl = null;
var m_schoolReportingPeriodNameControl = null;
var m_showAchievementContinuumControl = null;
var m_achievementContinuum1Control = null;
var m_achievementContinuum2Control = null;
var m_achievementContinuum3Control = null;
var m_achievementContinuum4Control = null;
var m_achievementContinuum5Control = null;
var m_teacherCommentMaxLengthControl = null;
var m_principalCommentMaxLengthControl = null;
var m_showSubjectCommentsControl = null
var oSchoolLogoUploadControl= null;
var m_principalSignatureImageControl = null;
var m_principalSignatureUploadControl = null;
var m_useElectronicSignature = null;
var m_ldapContextControl = null;
var m_configureLockControl = null;
var m_logoImageControl = null;
this.Refresh = m_refresh;
this.RefreshLogo = m_refreshLogo;
var m_cboLoad = new CallBackObject();
m_cboLoad.OnComplete = m_cboLoad_Complete;
m_cboLoad.OnError = m_cboGeneric_Error;
m_initialise();
function m_initialise()
{
m_PKSchool = m_PKSchoolInitial;
m_schoolsList = new DropdownControl(m_container, "schools", "PK_School", "SchoolName", false, false, false, true, 400);
m_settingsContainer = document.createElement("DIV");
m_container.appendChild(m_settingsContainer);
}
m_schoolsList.OnChange = function(pPKSchool)
{
m_PKSchool = pPKSchool;
m_load();
}
m_schoolsList.OnRefreshComplete = function()
{
m_schoolsList.SetValue(m_PKSchool);
if(m_allowChangeSchool == false ) {
m_schoolsList.SetEnabled(false);
}
}
function m_refresh()
{
if (!m_PKSchool) return;
m_load();
}
function m_load()
{
if (oSchoolLogoUploadControl) {
oSchoolLogoUploadControl.Finalise();
oSchoolLogoUploadControl = null;
}
if (m_principalSignatureUploadControl) {
m_principalSignatureUploadControl.Finalise();
m_principalSignatureUploadControl = null;
}
m_settingsContainer.innerHTML = "";
m_configureLockControl = new ConfigureLockControl(m_settingsContainer, m_PKSchool);
m_configureLockControl.OnComplete = m_configureLockControl_OnComplete;
}
function m_configureLockControl_OnComplete(pbLocked)
{
if (!pbLocked) {
m_cboLoad.DoCallBackManual("school_ex", "get", 'PK_School=' + m_PKSchool)
}
}
function m_cboLoad_Complete(responseText, responseXML)
{
var oDiv, oText, oImg;
var oXml;
var oSchoolNameControl;
oXml = responseXML.documentElement.firstChild
m_schoolName = oXml.getAttribute("schoolname");
m_interviewDetails = oXml.getAttribute("interviewdetails");
m_showTeacherComment = oXml.getAttribute("showteachercomment");
m_showPrincipalComment = oXml.getAttribute("showprincipalcomment");
m_showStudentComment = oXml.getAttribute("showstudentcomment");
m_showParentComment = oXml.getAttribute("showparentcomment");
m_showEffort = oXml.getAttribute("showeffort");
m_effort1 = oXml.getAttribute("effort1");
m_effort2 = oXml.getAttribute("effort2");
m_effort3 = oXml.getAttribute("effort3");
m_effort4 = oXml.getAttribute("effort4");
m_schoolSuburb = oXml.getAttribute("schoolsuburb");
m_schoolMissionStatement = oXml.getAttribute("schoolmissionstatement");
m_rankingOption = oXml.getAttribute("rankingoption");
m_schoolPrincipalName = oXml.getAttribute("schoolprincipalname");
/*DEPRECATED: 20061101 m_schoolVisionStatement = oXml.getAttribute("schoolvisionstatement");*/
m_schoolVisionStatement = g_xmlGetElementValue(oXml, "schoolvisionstatementText");
m_schoolReportingPeriodName = oXml.getAttribute("schoolreportingperiodname");
m_showAchievementContinuum = oXml.getAttribute("showachievementcontinuum");
m_achievementContinuum1 = oXml.getAttribute("achievementcontinuum1");
m_achievementContinuum2 = oXml.getAttribute("achievementcontinuum2");
m_achievementContinuum3 = oXml.getAttribute("achievementcontinuum3");
m_achievementContinuum4 = oXml.getAttribute("achievementcontinuum4");
m_achievementContinuum5 = oXml.getAttribute("achievementcontinuum5");
m_showSubjectComments = oXml.getAttribute("showsubjectcomments");
m_subjectCommentMaxLength = oXml.getAttribute("subjectcommentmaxlength");
m_principalCommentMaxLength = oXml.getAttribute("principalcommentmaxlength");
m_teacherCommentMaxLength = oXml.getAttribute("teachercommentmaxlength");
m_useElectronicSignature = oXml.getAttribute("useelectronicsignature");
m_ldapContext = oXml.getAttribute("ldapcontext");
//Prime Learning
m_textColor = oXml.getAttribute("reportfontcolor");
m_headingColor = oXml.getAttribute("reportheadingcolor");
m_absencesDate = oXml.getAttribute("absencescutoffdate");
// 20070928: CG07
m_printedReportSchoolName = oXml.getAttribute("printedreportschoolname");
m_settingsContainer.innerHTML = "";
m_settingsContainer.appendChild(document.createElement("HR"));
// School Name
oDiv = document.createElement("DIV");
m_settingsContainer.appendChild(oDiv);
oText = document.createElement("SPAN");
oText.innerHTML = "School Name:"
oDiv.appendChild(oText);
oSchoolNameControl = new TextControl(oDiv, "schoolschoolname", "set", "PK_School", m_PKSchool, m_schoolName, 300, 255)
oSchoolNameControl.OnTextSaved = m_schoolNameChanged;
m_settingsContainer.appendChild(document.createElement("HR"));
if (systemSettings.AllowSetRankingOption.toLowerCase() == "true")
{
/* HIDE FOR PARRAMATTA */
// Ranking Option
oDiv = document.createElement("DIV");
m_settingsContainer.appendChild(oDiv);
oText = document.createElement("SPAN");
oText.innerHTML = "Ranking Option:"
oDiv.appendChild(oText);
m_rankingOptionControl = new OptionGroupControl(oDiv, "schoolrankingoption", "PK_School", m_PKSchool, "Grade Numbers|Quartile", "1|2", m_rankingOption);
m_settingsContainer.appendChild(document.createElement("HR"));
}
// School Logo
oDiv = document.createElement("DIV");
m_settingsContainer.appendChild(oDiv);
oText = document.createElement("SPAN");
oText.innerHTML = "School Logo:";
oDiv.appendChild(oText);
oText = document.createElement("DIV");
oText.innerHTML = "Before uploading, please ensure that the School Logo image is in GIF, JPEG or PNG format and of appropriate dimensions.";
oDiv.appendChild(oText);
oSchoolLogoUploadControl = new UploadControl(oDiv, "schoollogo", m_PKSchool, "schoolLogoUploadControlFrame");
// Current School logo
oDiv = document.createElement("DIV");
m_settingsContainer.appendChild(oDiv);
m_logoImageControl = document.createElement("IMG");
m_logoImageControl.height = "80";
m_logoImageControl.src = "Image.asp?type=schoollogo&pk=" + m_PKSchool + m_getProxyDefeaterString();
oDiv.appendChild(m_logoImageControl);
m_settingsContainer.appendChild(document.createElement("HR"));
// School Suburb
oDiv = document.createElement("DIV");
m_settingsContainer.appendChild(oDiv);
oText = document.createElement("SPAN");
oText.innerHTML = "Suburb:";
oDiv.appendChild(oText);
new TextControl(oDiv, "schoolsuburb", "set", "PK_School", m_PKSchool, m_schoolSuburb, 200, 255)
m_settingsContainer.appendChild(document.createElement("HR"));
// School Principal
oDiv = document.createElement("DIV");
m_settingsContainer.appendChild(oDiv);
oText = document.createElement("SPAN");
oText.innerHTML = "Principal:";
oDiv.appendChild(oText);
m_schoolPrincipalNameControl = new TextControl(oDiv, "schoolprincipal", "set", "PK_School", m_PKSchool, m_schoolPrincipalName, 200, 255)
m_settingsContainer.appendChild(document.createElement("HR"));
// School Reporting Period
oDiv = document.createElement("DIV");
m_settingsContainer.appendChild(oDiv);
oText = document.createElement("SPAN");
oText.innerHTML = "Reporting Period:";
oDiv.appendChild(oText);
new TextControl(oDiv, "schoolreportingperiod", "set", "PK_School", m_PKSchool, m_schoolReportingPeriodName, 200, 255)
m_schoolReportingPeriodNameControl = m_settingsContainer.appendChild(document.createElement("HR"));
// School Mission Statement
oDiv = document.createElement("DIV");
m_settingsContainer.appendChild(oDiv);
oText = document.createElement("SPAN");
oText.innerHTML = "School Motto:";
oDiv.appendChild(oText);
new TextControl(oDiv, "schoolmissionstatement", "set", "PK_School", m_PKSchool, m_schoolMissionStatement, 500, 255)
m_settingsContainer.appendChild(document.createElement("HR"));
// School Vision Statement
/* 20070131: Hidden for Canberra Goulburn
oDiv = document.createElement("DIV");
m_settingsContainer.appendChild(oDiv);
m_schoolVisionStatementControl= new TextAreaControl(oDiv, "schoolvisionstatement", "set", "PK_School", m_PKSchool, m_schoolVisionStatement, 600, 100, "School Mission/Vision Statement", true, false)
m_settingsContainer.appendChild(document.createElement("HR"));
*/
// Interview Details
/*
oDiv = document.createElement("DIV");
m_settingsContainer.appendChild(oDiv);
oText = document.createElement("SPAN");
oText.innerHTML = "Interview Details:";
oDiv.appendChild(oText);
new TextControl(oDiv, "schoolinterviewdetails", "set", "PK_School", m_PKSchool, m_interviewDetails, 500, 255)
m_settingsContainer.appendChild(document.createElement("HR"));
*/
// Principal signature Logo
oDiv = document.createElement("DIV");
m_settingsContainer.appendChild(oDiv);
new BooleanToggleControl(oDiv, "school_useelectronicsignature", "set", "PK_School", m_PKSchool, m_useElectronicSignature);
oText = document.createElement("SPAN");
oText.innerHTML = "Use electronic principal signature:";
oDiv.appendChild(oText);
oText = document.createElement("DIV");
oText.innerHTML = "Before uploading, please ensure that the Principal Signature image is in GIF, JPEG or PNG format and of appropriate dimensions.";
oDiv.appendChild(oText);
m_principalSignatureUploadControl = new UploadControl(oDiv, "principalsignature", m_PKSchool, "electronicSignatureUploadControlFrame");
// Current principal signature
oDiv = document.createElement("DIV");
m_settingsContainer.appendChild(oDiv);
m_principalSignatureImageControl = document.createElement("IMG");
m_logoImageControl.height = "80";
m_principalSignatureImageControl.src = "Image.asp?type=principalsignature&pk=" + m_PKSchool + m_getProxyDefeaterString();
oDiv.appendChild(m_principalSignatureImageControl);
m_settingsContainer.appendChild(document.createElement("HR"));
// Prime Learning
// Absences Cut Off Date
oDiv = document.createElement("DIV");
m_settingsContainer.appendChild(oDiv);
oText = document.createElement("SPAN");
oText.innerHTML = "Absences Cutoff Date:"
oDiv.appendChild(oText);
oSchoolabsencesControl = new TextControl(oDiv, "schoolabsencescutoffdate", "set", "PK_School", m_PKSchool, m_absencesDate, 300, 255);
m_settingsContainer.appendChild(document.createElement("HR"));
// Show Teacher Comment
if (systemSettings.AllowSetTeacherComment.toLowerCase() == "true")
{
oDiv = document.createElement("DIV");
m_settingsContainer.appendChild(oDiv);
new BooleanToggleControl(oDiv, "schoolshowteachercomment", "set", "PK_School", m_PKSchool, m_showTeacherComment);
oText = document.createElement("SPAN");
oText.innerHTML = "show teacher comment.";
oDiv.appendChild(oText);
}
if (systemSettings.UseSchoolConfiguredComments.toLowerCase == "true")
{
oText.innerHTML += " Limit comment to: ";
m_teacherCommentMaxLengthControl = new OptionDropdownControl(oDiv, "school_teachercommentmaxlength", "PK_School", m_PKSchool, systemSettings.TeacherCommentLengthOptions, systemSettings.TeacherCommentLengthOptions, m_teacherCommentMaxLength, 100, null, false)
m_teacherCommentMaxLengthControl.OnChange = m_teacherCommentMaxLengthControl_OnChange;
oText = document.createElement("SPAN");
oText.innerHTML = " characters.";
oDiv.appendChild(oText);
}
// Show Principal Comment
oDiv = document.createElement("DIV");
m_settingsContainer.appendChild(oDiv);
new BooleanToggleControl(oDiv, "schoolshowprincipalcomment", "set", "PK_School", m_PKSchool, m_showPrincipalComment);
oText = document.createElement("SPAN");
oText.innerHTML = "show principal comment.";
oDiv.appendChild(oText);
if (systemSettings.UseSchoolConfiguredComments.toLowerCase == "true")
{
oText.innerHTML += " Limit comment to: ";
m_principalCommentMaxLengthControl = new OptionDropdownControl(oDiv, "school_principalcommentmaxlength", "PK_School", m_PKSchool, systemSettings.PrincipalCommentLengthOptions, systemSettings.PrincipalCommentLengthOptions, m_principalCommentMaxLength, 100, null, false)
m_principalCommentMaxLengthControl.OnChange = m_principalCommentMaxLengthControl_OnChange;
oText = document.createElement("SPAN");
oText.innerHTML = " characters.";
oDiv.appendChild(oText);
}
if (systemSettings.AllowSetStudentComment.toLowerCase() == "true")
{
/* HIDE FOR PARRAMATTA*/
// Show Student Comment
oDiv = document.createElement("DIV");
m_settingsContainer.appendChild(oDiv);
new BooleanToggleControl(oDiv, "schoolshowstudentcomment", "set", "PK_School", m_PKSchool, m_showStudentComment);
oText = document.createElement("SPAN");
oText.innerHTML = "show student comment.";
oDiv.appendChild(oText);
}
if (systemSettings.AllowSetParentComment.toLowerCase() == "true")
{
/* HIDE FOR PARRAMATTA*/
// Show Parent Comment
oDiv = document.createElement("DIV");
m_settingsContainer.appendChild(oDiv);
new BooleanToggleControl(oDiv, "schoolshowparentcomment", "set", "PK_School", m_PKSchool, m_showParentComment);
oText = document.createElement("SPAN");
oText.innerHTML = "show parent comment.";
oDiv.appendChild(oText);
}
if (systemSettings.UseSchoolConfiguredComments.toLowerCase == "true")
{
m_settingsContainer.appendChild(document.createElement("HR"));
oDiv = document.createElement("DIV");
m_settingsContainer.appendChild(oDiv);
m_showSubjectCommentsControl = new BooleanToggleControl(oDiv, "school_showsubjectcomments", "set", "PK_School", m_PKSchool, m_showSubjectComments);
m_showSubjectCommentsControl.OnChange = m_showSubjectCommentsControl_OnChange;
oText = document.createElement("SPAN");
oText.innerHTML = "show comments for Religious Education, English and Mathematics. Limit comments to: ";
oDiv.appendChild(oText);
new OptionDropdownControl(oDiv, "school_subjectcommentmaxlength", "PK_School", m_PKSchool, systemSettings.SubjectCommentLengthOptions, systemSettings.SubjectCommentLengthOptions, m_subjectCommentMaxLength, 100, null, false)
oText = document.createElement("SPAN");
oText.innerHTML = " characters.";
oDiv.appendChild(oText);
}
if (systemSettings.AllowSetEffort.toLowerCase() == "true")
{
m_settingsContainer.appendChild(document.createElement("HR"));
oDiv = document.createElement("DIV");
m_settingsContainer.appendChild(oDiv);
m_showEffortControl = new BooleanToggleControl(oDiv, "schoolshoweffort", "set", "PK_School", m_PKSchool, m_showEffort);
m_showEffortControl.OnChange = m_showEffortControl_OnChange;
oText = document.createElement("SPAN");
oText.innerHTML = "show effort:";
oDiv.appendChild(oText);
m_effort1Control = new TextControl(oDiv, "schooleffort1", "set", "PK_School", m_PKSchool, m_effort1, 150, 255);
m_effort2Control = new TextControl(oDiv, "schooleffort2", "set", "PK_School", m_PKSchool, m_effort2, 150, 255);
m_effort3Control = new TextControl(oDiv, "schooleffort3", "set", "PK_School", m_PKSchool, m_effort3, 150, 255);
if (systemSettings.Use4LevelEffortScale.toLowerCase() == "true") {
m_effort4Control = new TextControl(oDiv, "schooleffort4", "set", "PK_School", m_PKSchool, m_effort4, 150, 255);
}
m_setEffortEnabled(m_showEffort.toLowerCase() == 'true');
}
if (systemSettings.UseSchoolConfiguredAchievementLevel.toLowerCase() == "true")
{
m_settingsContainer.appendChild(document.createElement("HR"));
oDiv = document.createElement("DIV");
m_settingsContainer.appendChild(oDiv);
m_showAchievementContinuumControl = new BooleanToggleControl(oDiv, "school_showachievementcontinuum", "set", "PK_School", m_PKSchool, m_showAchievementContinuum);
m_showAchievementContinuumControl.OnChange = m_showAchievementContinuumControl_OnChange;
oText = document.createElement("SPAN");
oText.innerHTML = "show achievement continuum for Religious Education, English and Mathematics:
";
oDiv.appendChild(oText);
m_achievementContinuum1Control = new TextControl(oDiv, "school_achievementcontinuum1", "set", "PK_School", m_PKSchool, m_achievementContinuum1, 150, 255);
m_achievementContinuum2Control = new TextControl(oDiv, "school_achievementcontinuum2", "set", "PK_School", m_PKSchool, m_achievementContinuum2, 150, 255);
m_achievementContinuum3Control = new TextControl(oDiv, "school_achievementcontinuum3", "set", "PK_School", m_PKSchool, m_achievementContinuum3, 150, 255);
m_achievementContinuum4Control = new TextControl(oDiv, "school_achievementcontinuum4", "set", "PK_School", m_PKSchool, m_achievementContinuum4, 150, 255);
m_achievementContinuum5Control = new TextControl(oDiv, "school_achievementcontinuum5", "set", "PK_School", m_PKSchool, m_achievementContinuum5, 150, 255);
m_setAchievementContinuumEnabled(m_showAchievementContinuum.toLowerCase() == 'true');
}
m_settingsContainer.appendChild(document.createElement("HR"));
/* Hide the LDAP context setting field
oDiv = document.createElement("DIV");
m_settingsContainer.appendChild(oDiv);
oText = document.createElement("SPAN");
oText.innerHTML = "LDAP Context:";
oDiv.appendChild(oText);
new TextControl(oDiv, "schoolldapcontext", "set", "PK_School", m_PKSchool, m_ldapContext, 500, 255)
m_settingsContainer.appendChild(document.createElement("HR"));
*/
// 20070928: CG07
oDiv = document.createElement("DIV");
m_settingsContainer.appendChild(oDiv);
oText = document.createElement("SPAN");
oText.innerHTML = "Printed Report School Name: ";
oDiv.appendChild(oText);
new TextControl(oDiv, "school_printedreportschoolname", "set", "PK_School", m_PKSchool, m_printedReportSchoolName, 500, 255)
m_settingsContainer.appendChild(document.createElement("HR"));
//Prime Learning
/*20070917: CG03: Renamed "Report Heading Color" to "Report School Name Colour*/
oDiv = document.createElement("DIV");
m_settingsContainer.appendChild(oDiv);
oText = document.createElement("SPAN");
oText.innerHTML = "Report School Name Colour: ";
oDiv.appendChild(oText);
new HTMLColor(oDiv, "heading_color", "schoolheadingcolor", "set", "PK_School", m_PKSchool, m_headingColor, 100, 255);
m_settingsContainer.appendChild(document.createElement("HR"));
/*20070917: CG03: Text color no longer allowed to be set.
oDiv = document.createElement("DIV");
m_settingsContainer.appendChild(oDiv);
oText = document.createElement("SPAN");
oText.innerHTML = "Report Text Color: ";
oDiv.appendChild(oText);
new HTMLColor(oDiv, "text_color", "schooltextcolor", "set", "PK_School", m_PKSchool, m_textColor, 100, 255);
m_settingsContainer.appendChild(document.createElement("HR"));
*/
}
function m_teacherCommentMaxLengthControl_OnChange(pValue)
{
if (m_showSubjectCommentsControl.GetValue() == true) {
if (parseInt(pValue) > parseInt(systemSettings.TeacherCommentConditionalMaxLength)) {
alert("The maximum length for teacher comments when subject comments are enabled is " + systemSettings.TeacherCommentConditionalMaxLength + " characters.");
m_teacherCommentMaxLengthControl.SetValueAndSave(systemSettings.TeacherCommentConditionalMaxLength);
}
}
}
function m_principalCommentMaxLengthControl_OnChange(pValue)
{
if (m_showSubjectCommentsControl.GetValue() == true) {
if (parseInt(pValue) > parseInt(systemSettings.PrincipalCommentConditionalMaxLength)) {
alert("The maximum length for principal comments when subject comments are enabled is " + systemSettings.PrincipalCommentConditionalMaxLength + " characters.");
m_principalCommentMaxLengthControl.SetValueAndSave(systemSettings.PrincipalCommentConditionalMaxLength);
}
}
}
function m_showSubjectCommentsControl_OnChange(pChecked)
{
var bResetT = false;
var bResetP = false;
var s = "";
if (pChecked == true) {
if (parseInt(m_teacherCommentMaxLengthControl.GetValue()) > parseInt(systemSettings.TeacherCommentConditionalMaxLength))
{
bResetT = true;
s += "The maximum teacher comment limit will be changed to " + systemSettings.TeacherCommentConditionalMaxLength + " characters.\n";
}
if (parseInt(m_principalCommentMaxLengthControl.GetValue()) > parseInt(systemSettings.PrincipalCommentConditionalMaxLength))
{
bResetP = true;
s += "The maximum principal comment limit will be changed to " + systemSettings.PrincipalCommentConditionalMaxLength + " characters.\n";
}
if (s.length > 0) {
alert(s);
}
if (bResetT == true) {
m_teacherCommentMaxLengthControl.SetValueAndSave(parseInt(systemSettings.TeacherCommentConditionalMaxLength));
}
if (bResetP == true) {
m_principalCommentMaxLengthControl.SetValueAndSave(parseInt(systemSettings.PrincipalCommentConditionalMaxLength));
}
}
}
function m_showEffortControl_OnChange(pChecked)
{
m_setEffortEnabled(pChecked);
}
function m_showAchievementContinuumControl_OnChange(pChecked)
{
m_setAchievementContinuumEnabled(pChecked);
}
function m_setEffortEnabled(pEnabled)
{
if (m_effort1Control) m_effort1Control.SetEnabled(pEnabled);
if (m_effort2Control) m_effort2Control.SetEnabled(pEnabled);
if (m_effort3Control) m_effort3Control.SetEnabled(pEnabled);
if (m_effort4Control) m_effort4Control.SetEnabled(pEnabled);
}
function m_setAchievementContinuumEnabled(pEnabled)
{
if (m_achievementContinuum1Control) m_achievementContinuum1Control.SetEnabled(pEnabled);
if (m_achievementContinuum2Control) m_achievementContinuum2Control.SetEnabled(pEnabled);
if (m_achievementContinuum3Control) m_achievementContinuum3Control.SetEnabled(pEnabled);
if (m_achievementContinuum4Control) m_achievementContinuum4Control.SetEnabled(pEnabled);
if (m_achievementContinuum5Control) m_achievementContinuum5Control.SetEnabled(pEnabled);
}
function m_cboGeneric_Error(status, statusText, responseText)
{
ShowDebugWindow(responseText);
}
function m_schoolNameChanged(pValue)
{
m_schoolsList.Refresh('');
}
function m_refreshLogo()
{
m_logoImageControl.src = "Image.asp?type=schoollogo&pk=" + m_PKSchool + m_getProxyDefeaterString();
m_principalSignatureImageControl.src = "Image.asp?type=principalsignature&pk=" + m_PKSchool + m_getProxyDefeaterString();
}
function m_getProxyDefeaterString()
{
return "&defeat=" + (new Date()).getTime().toString();
}
}
function SchoolSubjectsControl(pContainer, pPKSchoolInitial, pbAllowChangeSchool)
{
var m_container = pContainer;
var m_allowChangeSchool = pbAllowChangeSchool; /* allow the end user to change the school */
var m_PKSchoolInitial = pPKSchoolInitial;
var m_PKSchool = null;
var m_schoolsList = null;
var m_subjectsListView = null;
var m_configureLockControl = null;
var m_lockContainer = null;
this.Refresh = m_refresh;
m_initialise();
function m_initialise()
{
var columns, columnNames, columnWidths, totalWidth
m_schoolsList = new DropdownControl(m_container, "schools", "PK_School", "SchoolName", false, false, false, true, 400);
m_schoolsList.OnChange = m_schoolsList_OnChange;
m_schoolsList.OnRefreshComplete = m_schoolsList_OnRefreshComplete;
if (systemSettings.ShowPerSubjectConfigurationOptions.toLowerCase() == 'true')
{
/* THESE VALUES DON'T MAKE SENSE FOR PARRAMATTA */
columns = "SubjectName|ReportingRequired|StrandsReportingRequired|CommentReportingRequired|OverrideCommentReportingRequired"
columnNames = "]Require reporting of:|_Subject|_Strands|_Comment|_Kinder Comment"
columnWidths = "250|100|100|100|100"
totalWidth = 650;
} else {
columns = "SubjectName|ReportingRequired"
columnNames = "]Require reporting of:|_Subject"
columnWidths = "250|100"
totalWidth = 350;
}
m_subjectsListView = new ListViewControl(m_container, "schoolsubjects_ex", "PK_SchoolSubject", columns, columnNames, columnWidths, totalWidth);
m_subjectsListView.OnCellRender = m_subjectsListView_OnCellRender;
m_lockContainer = document.createElement("DIV");
m_container.appendChild(m_lockContainer);
}
function m_schoolsList_OnChange(pPKSchool)
{
m_PKSchool = pPKSchool;
m_load();
}
function m_schoolsList_OnRefreshComplete()
{
m_schoolsList.SetValue(m_PKSchoolInitial);
if(m_allowChangeSchool == false ) {
m_schoolsList.SetEnabled(false);
}
}
function m_load()
{
m_subjectsListView.Hide();
m_lockContainer.innerHTML = "";
m_configureLockControl = new ConfigureLockControl(m_lockContainer, m_PKSchool);
m_configureLockControl.OnComplete = m_configureLockControl_OnComplete;
}
function m_configureLockControl_OnComplete(pbLocked)
{
if (!pbLocked) {
m_subjectsListView.Show();
m_subjectsListView.RefreshList('PK_School=' + m_PKSchool);
}
}
function m_subjectsListView_OnCellRender(pPKSchoolSubject, pColumnIdentifier, pValue, pCellTD)
{
var bValue;
if (pColumnIdentifier == "subjectname") {
pCellTD.align = "left";
} else if (pColumnIdentifier == "reportingrequired") {
if (pValue == 0) {
bValue = "false";
}else if (pValue == -1) {
pCellTD.innerHTML = "Mandatory";
return true;
} else {
bValue = "true";
}
new BooleanToggleControl(pCellTD, "schoolsubjectreportingrequired", "set", "PK_SchoolSubject", pPKSchoolSubject, bValue);
return true;
} else if (pColumnIdentifier == "strandsreportingrequired") {
if (pValue == 0) {
bValue = "false";
}else if (pValue == -1) {
pCellTD.innerHTML = "Mandatory";
return true;
} else {
bValue = "true";
}
new BooleanToggleControl(pCellTD, "schoolsubjectstrandreportingrequired", "set", "PK_SchoolSubject", pPKSchoolSubject, bValue);
return true;
} else if (pColumnIdentifier == "commentreportingrequired") {
if (pValue == 0) {
bValue = "false";
}else if (pValue == -1) {
pCellTD.innerHTML = "Mandatory";
return true;
} else {
bValue = "true";
}
new BooleanToggleControl(pCellTD, "schoolsubjectcommentrequired", "set", "PK_SchoolSubject", pPKSchoolSubject, bValue);
return true;
} else if (pColumnIdentifier == "overridecommentreportingrequired") {
if (pValue == 0) {
bValue = "false";
}else if (pValue == -1) {
pCellTD.innerHTML = "Mandatory";
return true;
} else {
bValue = "true";
}
new BooleanToggleControl(pCellTD, "schoolsubjectcommentoverride", "set", "PK_SchoolSubject", pPKSchoolSubject, bValue);
return true;
}
return false;
}
function m_refresh()
{
if (!m_PKSchool) return;
m_load();
}
}
function SecurityGroupControl(pDropDownListContainer, pListContainer)
{
var m_dropDownListContainer = pDropDownListContainer;
var m_listContainer = pListContainer;
var self = this;
var m_PKGroup = null;
var m_currentGroupSecurityObjectPrivilege = null;
/* 27/4/2006
Add/edit/delete operations disallowed because system is now
dependent on Teacher group with PK_Group of 3, due to CSO
requirement of principals setting up teacher logins.
*/
var m_dropdownControl = new DropdownControl(m_dropDownListContainer, "groups", "PK_Group", "GroupName", false, false, false)
var m_cboListSecurityObjects = new CallBackObject();
var m_cboSetGroupSecurityObjectPrivilege = new CallBackObject();
this.Refresh = m_RefreshSecurityObjectList;
m_cboListSecurityObjects.OnComplete = m_cboListSecurityObjects_Complete;
m_cboListSecurityObjects.OnError = m_cboGeneric_Error;
m_cboSetGroupSecurityObjectPrivilege.OnComplete = m_cboSetGroupSecurityObjectPrivilege_Complete;
m_cboSetGroupSecurityObjectPrivilege.OnError = m_cboGeneric_Error;
m_dropdownControl.OnChange = function(pPK) {
m_PKGroup = pPK;
m_RefreshSecurityObjectList();
}
function m_RefreshSecurityObjectList()
{
m_cboListSecurityObjects.DoCallBackManual('securityobjects', 'list', "PK_Group=" + m_PKGroup);
}
function m_cboListSecurityObjects_Complete(responseText, responseXML)
{
var oXmlSecurityObject;
var oXmlSecurityObjectPrivilege;
var oHtmlSecurityObjectDiv;
var oHtmlSecurityObjectPrivilegeDiv;
var oHtmlSecurityObjectPrivilegeCheckBox;
var oHtmlSecurityObjectPrivilegeText;
m_listContainer.innerHTML = "";
oXmlSecurityObject = responseXML.documentElement.firstChild;
while(oXmlSecurityObject != null)
{
oHtmlSecurityObjectDiv = document.createElement("div");
oHtmlSecurityObjectDiv.className = "SecurityGroupControlListItem";
oHtmlSecurityObjectDiv.innerHTML = oXmlSecurityObject.getAttribute("securityobjectname");
oHtmlSecurityObjectDiv.title = oXmlSecurityObject.getAttribute("description");
m_listContainer.appendChild(oHtmlSecurityObjectDiv);
oXmlSecurityObjectPrivilege = oXmlSecurityObject.firstChild
while(oXmlSecurityObjectPrivilege != null)
{
oHtmlSecurityObjectPrivilegeDiv = document.createElement("div");
oHtmlSecurityObjectPrivilegeDiv.className = "SecurityGroupControlListItemPrivilege";
oHtmlSecurityObjectDiv.appendChild(oHtmlSecurityObjectPrivilegeDiv);
oHtmlSecurityObjectPrivilegeCheckBox = document.createElement("INPUT");
oHtmlSecurityObjectPrivilegeCheckBox.type = "checkbox";
oHtmlSecurityObjectPrivilegeCheckBox.value = oXmlSecurityObjectPrivilege.getAttribute("pk_securityobjectprivilege");
oHtmlSecurityObjectPrivilegeCheckBox.PKSecurityObjectPrivilege = oXmlSecurityObjectPrivilege.getAttribute("pk_securityobjectprivilege");
oHtmlSecurityObjectPrivilegeCheckBox.PKGroupSecurityObjectPrivilege = oXmlSecurityObjectPrivilege.getAttribute("pk_groupsecurityobjectprivilege");
oHtmlSecurityObjectPrivilegeDiv.appendChild(oHtmlSecurityObjectPrivilegeCheckBox);
oHtmlSecurityObjectPrivilegeCheckBox.checked = (oXmlSecurityObjectPrivilege.getAttribute("pk_groupsecurityobjectprivilege").length > 0);
oHtmlSecurityObjectPrivilegeCheckBox.onclick = m_groupSecurityObjectPrivilegeChanged;
oHtmlSecurityObjectPrivilegeText = document.createElement("SPAN");
oHtmlSecurityObjectPrivilegeText.innerHTML = oXmlSecurityObjectPrivilege.getAttribute("privilegename")
oHtmlSecurityObjectPrivilegeText.title = oXmlSecurityObjectPrivilege.getAttribute("description");
oHtmlSecurityObjectPrivilegeDiv.appendChild(oHtmlSecurityObjectPrivilegeText);
oXmlSecurityObjectPrivilege = oXmlSecurityObjectPrivilege.nextSibling;
}
oXmlSecurityObject = oXmlSecurityObject.nextSibling;
}
}
function m_groupSecurityObjectPrivilegeChanged()
{
m_currentGroupSecurityObjectPrivilege = this;
if (this.checked == true)
{
m_cboSetGroupSecurityObjectPrivilege.DoCallBackManual('groupsecurityobjectprivileges', 'add', "PK_Group=" + m_PKGroup + "&PK_SecurityObjectPrivilege=" + this.PKSecurityObjectPrivilege);
} else {
m_cboSetGroupSecurityObjectPrivilege.DoCallBackManual('groupsecurityobjectprivileges', 'delete', "PK_GroupSecurityObjectPrivilege=" + this.PKGroupSecurityObjectPrivilege);
}
}
function m_cboSetGroupSecurityObjectPrivilege_Complete(responseText, responseXML)
{
m_currentGroupSecurityObjectPrivilege.PKGroupSecurityObjectPrivilege = responseText;
}
function m_cboGeneric_Error(status, statusText, responseText)
{
ShowDebugWindow(responseText);
}
}
function SecurityLDAPControl(pContainer, pPKSchoolInitial, pbAllowChangeSchool, pbAllowChangeContext)
{
var self = this;
var m_container = pContainer;
var m_PKSchoolInitial = pPKSchoolInitial;
var m_allowChangeSchool = pbAllowChangeSchool; /* allow the end user to change the school */
var m_allowChangeContext = pbAllowChangeContext /* allow the end user to change the context */
var m_contextList = null;
var m_schoolsList = null;
var m_listView = null;
var m_addButtonControl = null;
var m_cancelButtonControl = null;
var m_checkboxArray = null;
var oText = null;
var m_cboAddUser = new CallBackObject();
m_cboAddUser.OnComplete = m_cboAddUser_Complete;
m_cboAddUser.OnError = m_cboGeneric_Error;
this.OnUpdateComplete = null;
this.Refresh = m_refresh;
m_initialise();
function m_initialise()
{
oText = document.createElement("SPAN");
oText.innerHTML = "Search this School for users: ";
m_container.appendChild(oText);
//m_contextList = new DropdownControl(m_container, "usercontexts", "PK_School", "LDAPContext", false, false, false);
m_contextList = new DropdownControl(m_container, "usercontexts", "PK_School", "SchoolName", false, false, false);
m_contextList.OnChange = m_contextList_OnChange;
m_contextList.OnRefreshComplete = m_contextList_OnRefreshComplete;
new DividerControl(m_container);
//m_listView = new ListViewControl(m_container, "ldapusers", "domain", "cn|givenname|sn", "User Name|First Name|Last Name", "200|200|200", 600, 200, true);
m_listView = new ListViewControl(m_container, "ldapusers", "domain", "samaccountname|givenname|sn", "User Name|First Name|Last Name", "200|200|200", 600, 200, true);
m_listView.OnCheckboxRenderSetChecked = m_listView_OnCheckboxRenderSetChecked
m_listView.OnCheckboxRenderSetEnabled = m_listView_OnCheckboxRenderSetEnabled
new DividerControl(m_container);
oText = document.createElement("SPAN");
oText.innerHTML = "Add user(s) to this school: ";
m_container.appendChild(oText);
m_schoolsList = new DropdownControl(m_container, "schools", "PK_School", "SchoolName", false, false, false);
m_schoolsList.OnChange = m_schoolsList_OnChange;
m_schoolsList.OnRefreshComplete = m_schoolsList_OnRefreshComplete;
new DividerControl(m_container);
m_addButtonControl = new ButtonControl(m_container, "Add User(s)");
m_addButtonControl.OnClick = m_addButtonControl_OnClick;
oText = document.createElement("SPAN");
oText.innerHTML = " ";
m_container.appendChild(oText);
m_cancelButtonControl = new ButtonControl(m_container, "Cancel");
m_cancelButtonControl.OnClick = m_cancelButtonControl_OnClick;
}
function m_schoolsList_OnChange(pPKSchool)
{
m_PKSchool = pPKSchool;
//m_listView.RefreshList('PK_School=' + m_PKSchool);
}
function m_schoolsList_OnRefreshComplete()
{
m_schoolsList.SetValue(m_PKSchoolInitial);
if(m_allowChangeSchool == false ) {
m_schoolsList.SetEnabled(false);
}
}
// function m_contextList_OnChange(pPKSchoolContext)
function m_contextList_OnChange(pPKSchool)
{
var sContext;
// m_PKSchoolContext = pPKSchoolContext;
m_PKSchool = pPKSchool;
//sContext = m_contextList.GetText(m_PKSchoolContext);
sContext = m_contextList.GetValue(m_PKSchool);
m_listView.RefreshList('Context=' + sContext.replace(" ", "~99~")); //debug
}
function m_contextList_OnRefreshComplete()
{
m_contextList.SetValue(m_PKSchoolInitial);
if(m_allowChangeContext == false ) {
m_contextList.SetEnabled(false);
}
}
function m_refresh() //exeuted on first load
{
if (!m_contextList) return;
if (!m_contextList.GetText) return;
if (!m_contextList.GetText()) return;
//sContext = m_contextList.GetText(m_PKSchoolContext);
sContext = m_contextList.GetValue(m_PKSchool);// m_PKSchool
m_listView.RefreshList('Context=' + sContext.replace(" ", "~99~"));
}
/* Tick the checkboxes of users that are already added to the system */
function m_listView_OnCheckboxRenderSetChecked(pUserDomain, pXmlData)
{
return (pXmlData.getAttribute("alreadyexists") == "true");
}
/* Lock checkboxes of users that are already added to the system */
function m_listView_OnCheckboxRenderSetEnabled(pUserDomain, pXmlData)
{
return (pXmlData.getAttribute("alreadyexists") != "true");
}
function m_addButtonControl_OnClick()
{
var oUserList = m_listView.GetCheckedEnabledItems();
var bProceed;
/* no users selected that weren't already there. nothing to do.*/
if ((oUserList == null) || oUserList.length == 0) {
alert("No users have been selected that don't already exist in the system.\n\nPlease select at least one user and try again.");
return;
}
bProceed = confirm("Are you sure that you want to add the " + oUserList.length + " new selected user(s) to the system as staff members of " + m_schoolsList.GetText() + "?");
if (bProceed == false) {
return;
}
m_checkboxArray = oUserList;
m_addUsers();
}
function m_addUsers()
{
var o;
var sAction;
window.status = "Adding users. " + m_checkboxArray.length + " users pending addition."
o = m_checkboxArray.pop();
if(!o) {
// all done.
m_addComplete();
return;
}
m_cboAddUser.DoCallBackManual('ldapuser', "add", "PK_School=" + m_PKSchool + "&UserDomain=" + escape(o));
}
function m_cboAddUser_Complete(responseText, responseXML)
{
m_addUsers();
}
function m_addComplete()
{
window.status = "All users added."
alert("The new users have been added to the system.");
if (self.OnUpdateComplete) {
self.OnUpdateComplete();
}
}
function m_cancelButtonControl_OnClick()
{
if (self.OnUpdateComplete) {
self.OnUpdateComplete();
}
}
function m_cboGeneric_Error(status, statusText, responseText)
{
ShowDebugWindow(responseText);
}
}
function SecurityUserClassAccessControl(pContainer, pPKSchoolInitial, pbAllowChangeSchool)
{
var self = this;
var m_container = pContainer;
var m_allowChangeSchool = pbAllowChangeSchool;
var m_PKSchoolInitial = pPKSchoolInitial
var m_schoolsList = null;
var m_schoolClassList = null;
var m_PKSchool = null;
var m_PKSchoolClass = null;
var m_schoolTitleControl = null;
var m_schoolClassTitleControl = null;
var m_listView = null;
this.Refresh = m_refresh;
m_initialise();
function m_initialise()
{
m_schoolTitleControl = document.createElement("span");
m_schoolTitleControl.innerHTML = "School: ";
m_container.appendChild(m_schoolTitleControl);
m_schoolsList = new DropdownControl(m_container, "schools", "PK_School", "SchoolName", false, false, false, true, 400);
m_schoolsList.OnChange = m_schoolsList_OnChange;
m_schoolsList.OnRefreshComplete = m_schoolsList_OnRefreshComplete;
m_container.appendChild(document.createElement("hr"));
m_schoolClassTitleControl = document.createElement("span");
m_schoolClassTitleControl.innerHTML = "Class: ";
m_container.appendChild(m_schoolClassTitleControl);
m_schoolClassList = new DropdownControl(m_container, "schoolclasses", "PK_SchoolClass", "SchoolClassName", false, false, false, false, 100);
m_schoolClassList.OnChange = m_schoolClassList_OnChange;
m_container.appendChild(document.createElement("hr"));
m_listView = new ListViewControl(m_container, "usergroupsincludingclassaccess", "PK_UserGroup", "UserName|FirstName|Surname|GroupName|GrantValue", "User Name|First Name|Surname|Group|Access Granted", "150|150|150|150|150", 750, 300, false);
m_listView.OnCellRender = m_listView_OnCellRender;
}
function m_schoolsList_OnChange(pPKSchool)
{
m_PKSchool = pPKSchool;
m_schoolClassList.Refresh('PK_School=' + m_PKSchool);
}
function m_schoolsList_OnRefreshComplete()
{
m_schoolsList.SetValue(m_PKSchoolInitial);
if(m_allowChangeSchool == false ) {
m_schoolsList.SetEnabled(false);
}
}
function m_schoolClassList_OnChange(pPK_SchoolClass)
{
m_PKSchoolClass = pPK_SchoolClass;
m_refresh();
}
function m_refresh()
{
if (m_PKSchoolClass == null) return;
m_listView.RefreshList("PK_SchoolClass=" + m_PKSchoolClass);
}
function m_listView_OnCellRender(pPKUserGroup, pColumnIdentifier, pValue, pCellTD)
{
if (pColumnIdentifier == 'grantvalue') {
pCellTD.align = "center";
new RelationshipToggleControl(pCellTD, "usergroupschoolclass", "PK_SchoolClass", "PK_UserGroup", m_PKSchoolClass, pPKUserGroup, (pValue == 0 ? "false" : "true"))
return true;
}
return false;
}
}
function SecurityUserControl(pContainer, pPKSchoolInitial, pbAllowChangeSchool, pbAllowAddOnlyTeachers)
{
var self = this;
var m_container = pContainer;
var m_allowChangeSchool = pbAllowChangeSchool; /* allow the end user to change the school */
var m_PKSchoolInitial = pPKSchoolInitial;
var m_allowAddOnlyTeachers = pbAllowAddOnlyTeachers;
var m_allowChangeContext = pbAllowChangeSchool; /*allow end user to change the context - admin only*/
var m_menuContainer = null;
var m_menuContentContainer = null;
var m_menuControl = null;
var m_viewContainer = null;
var m_editContainer = null;
var m_ldapContainer = null;
var m_viewControl = null;
var m_editControl = null;
var m_ldapControl = null;
m_initialise();
function m_initialise()
{
m_menuContainer = document.createElement("DIV");
m_menuContainer.id = "SecurityUserControlMenu";
m_container.appendChild(m_menuContainer);
m_menuContentContainer = document.createElement("DIV");
m_menuContentContainer.id = "SecurityUserControlMenuContent";
m_container.appendChild(m_menuContentContainer);
m_viewContainer = document.createElement("DIV");
m_viewContainer.id = "SecurityUserControlMenuContent_1";
m_menuContentContainer.appendChild(m_viewContainer);
m_editContainer = document.createElement("DIV");
m_editContainer.id = "SecurityUserControlMenuContent_2";
m_menuContentContainer.appendChild(m_editContainer);
m_ldapContainer = document.createElement("DIV");
m_ldapContainer.id = "SecurityUserControlMenuContent_3";
m_menuContentContainer.appendChild(m_ldapContainer);
m_viewControl = new SecurityUserListControl(m_viewContainer, m_PKSchoolInitial, m_allowChangeSchool);
m_viewControl.OnUserClick = m_viewControl_OnUserClick;
m_viewControl.OnNewUserButtonClick = m_viewControl_OnNewUserButtonClick;
m_editControl = new SecurityUserEditControl(m_editContainer, m_PKSchoolInitial, m_allowChangeSchool, m_allowAddOnlyTeachers);
m_editControl.OnUpdateComplete = m_editControl_OnUpdateComplete;
m_ldapControl = new SecurityLDAPControl(m_ldapContainer, m_PKSchoolInitial, m_allowChangeSchool, m_allowChangeContext); //on first render
m_ldapControl.OnUpdateComplete = m_ldapControl_OnUpdateComplete;
m_menuControl = new MenuControl(m_menuContainer, m_menuContentContainer, 1);
m_menuControl.OnSelectMenuItem = m_menuControl_OnSelectMenuItem;
m_menuControl.AddMenuItem(1, "View Users");
m_menuControl.AddMenuItem(2, "Modify User");
m_menuControl.AddMenuItem(3, "Add User (LDAP)");
m_menuControl.InitialiseMenu();
m_menuControl.SelectMenuItem(1);
}
function m_menuControl_OnSelectMenuItem(pID)
{
if (pID == 3) {
m_ldapControl.Refresh();
}
}
function m_viewControl_OnUserClick(pPK_User)
{
m_editControl.EditUser(pPK_User);
m_menuControl.SelectMenuItem(2);
}
function m_editControl_OnUpdateComplete()
{
m_viewControl.Refresh();
m_menuControl.SelectMenuItem(1);
}
function m_ldapControl_OnUpdateComplete()
{
m_viewControl.Refresh();
m_menuControl.SelectMenuItem(1);
}
function m_viewControl_OnNewUserButtonClick()
{
m_ldapControl.Refresh();
m_menuControl.SelectMenuItem(3);
}
}
function SecurityUserEditControl(pContainer, pPKSchoolInitial, pbAllowChangeSchool, pbAllowAddOnlyTeachers)
{
var self = this;
var m_container = pContainer;
var m_PKUser = null;
var m_currentMode = null;
var m_allowAddOnlyTeachers = pbAllowAddOnlyTeachers; /* restrict the end user to creating only teachers */
var m_allowChangeSchool = pbAllowChangeSchool; /* allow the end user to change the school */
var m_PKSchoolInitial = pPKSchoolInitial;
var m_innerContainer = null;
var m_modeIndicator = null;
var m_userNameControl = null;
var m_passwordControl = null;
var m_firstNameControl = null;
var m_surnameControl = null;
var m_ldapDomainControl = null;
var m_updateButtonControl = null;
var m_cancelButtonControl = null;
var m_schoolDropdownControl = null;
var m_groupList = null;
var m_messageTextControl = null;
var m_checkboxArray = null;
var m_cboGetUser = new CallBackObject();
var m_cboAddUser = new CallBackObject();
var m_cboUpdateUser = new CallBackObject();
var m_cboUpdateUserGroup = new CallBackObject();
m_cboGetUser.OnComplete = m_cboGetUser_Complete;
m_cboGetUser.OnError = m_cboGeneric_Error;
m_cboAddUser.OnComplete = m_cboAddUser_Complete;
m_cboAddUser.OnError = m_cboGeneric_Error;
m_cboUpdateUser.OnComplete = m_cboUpdateUser_Complete;
m_cboUpdateUser.OnError = m_cboGeneric_Error;
m_cboUpdateUserGroup.OnComplete = m_cboUpdateUserGroup_Complete;
m_cboUpdateUserGroup.OnError = m_cboGeneric_Error;
this.EditUser = m_editUser;
this.AddUser = m_addUser;
this.OnUpdateComplete = null; // Fired whenever entry has been added or updated
m_initialise();
function m_initialise()
{
var oText;
m_checkboxArray = new Array();
m_messageTextControl = document.createElement("DIV");
m_messageTextControl.style.display = "none";
m_messageTextControl.innerHTML = "To modify a user's details, please click on the user in the list on the 'View Users' screen.
To add a user, use the 'Add User (LDAP) Screen'.
";
m_container.appendChild(m_messageTextControl);
m_innerContainer = document.createElement("DIV");
m_container.appendChild(m_innerContainer);
m_modeIndicator = document.createElement("B");
m_innerContainer.appendChild(m_modeIndicator);
m_innerContainer.appendChild(document.createElement("HR"));
m_userNameControl = new BasicTextControl(m_innerContainer, "User Name:", 255, 150, true);
m_passwordControl = new BasicTextControl(m_innerContainer, "Password:", 255, 150, true);
m_firstNameControl = new BasicTextControl(m_innerContainer, "First Name:", 255, 200, true);
m_surnameControl = new BasicTextControl(m_innerContainer, "Surname:", 255, 200, true);
m_ldapDomainControl = new BasicTextControl(m_innerContainer, "LDAP Domain:", 255, 400, true);
oText = document.createElement("B");
oText.innerHTML = "School:";
oText.className = "SecurityUserControlLabel";
m_innerContainer.appendChild(oText);
m_schoolDropdownControl = new DropdownControl(m_innerContainer, "schools", "PK_School", "SchoolName", false, false, false, true, 400)
m_schoolDropdownControl.OnRefreshComplete = m_schoolDropdownControl_OnRefreshComplete;
oText = document.createElement("DIV");
oText.innerHTML = "
This user is a member of the following groups:";
m_innerContainer.appendChild(oText);
m_groupList = new ListViewControl(m_innerContainer, "usergroups", "PK_Group", "FK_UserGroup|GroupName", "_ |[Group", "50|450", 500, 100)
m_groupList.OnCellRender = m_groupList_OnCellRender;
m_innerContainer.appendChild(document.createElement("HR"));
m_updateButtonControl = document.createElement("INPUT");
m_updateButtonControl.type = "button";
m_updateButtonControl.className = "FlatButton";
m_updateButtonControl.onclick = m_updateButtonControl_onclick;
m_innerContainer.appendChild(m_updateButtonControl);
oText = document.createElement("SPAN");
oText.innerHTML = " ";
m_innerContainer.appendChild(oText);
m_cancelButtonControl = document.createElement("INPUT");
m_cancelButtonControl.type = "button";
m_cancelButtonControl.className = "FlatButton";
m_cancelButtonControl.value = "Cancel";
m_cancelButtonControl.onclick = m_cancelButtonControl_onclick;
m_innerContainer.appendChild(m_cancelButtonControl);
m_setHiddenMode();
}
function m_addUser()
{
m_setAddMode();
}
function m_editUser(pPK_User)
{
m_setEditMode(pPK_User);
}
function m_setEditMode(pPK_User)
{
m_innerContainer.style.display = "block";
m_messageTextControl.style.display = "none";
m_currentMode = "edit";
m_PKUser = pPK_User;
m_modeIndicator.innerHTML = "Update User"
m_userNameControl.SetEnabled(false);
m_updateButtonControl.value = "Update";
m_cboGetUser.DoCallBackManual('user', 'get', "PK_User=" + m_PKUser);
}
function m_setAddMode()
{
m_innerContainer.style.display = "block";
m_messageTextControl.style.display = "none";
m_currentMode = "add";
m_PKUser = null;
m_modeIndicator.innerHTML = "Add User"
m_userNameControl.SetEnabled(true);
m_userNameControl.SetValue("");
m_passwordControl.SetValue(GeneratePassword(6));
m_firstNameControl.SetValue("");
m_surnameControl.SetValue("");
m_schoolDropdownControl.SetValue(m_PKSchoolInitial);
m_checkboxArray.length = 0;
m_groupList.RefreshList("PK_User=-1");
m_updateButtonControl.value = "Add";
}
function m_setHiddenMode()
{
m_innerContainer.style.display = "none";
m_messageTextControl.style.display = "block";
}
function m_schoolDropdownControl_OnRefreshComplete()
{
m_schoolDropdownControl.SetValue(m_PKSchoolInitial);
if (m_allowChangeSchool == false) {
m_schoolDropdownControl.SetEnabled(false);
}
}
function m_updateButtonControl_onclick()
{
switch(m_currentMode)
{
case "edit":
m_cboUpdateUser.DoCallBackManual('user', 'update', "PK_User=" + m_PKUser + "&Password=" + escape(m_passwordControl.GetValue()) + "&FirstName=" + escape(m_firstNameControl.GetValue()) + "&Surname=" + escape(m_surnameControl.GetValue()) + "&FK_School=" + m_schoolDropdownControl.GetValue() + "&LDAPDomain=" + escape(m_ldapDomainControl.GetValue()));
break;
case "add":
m_cboAddUser.DoCallBackManual('user', 'add', "UserName=" + escape(m_userNameControl.GetValue()) + "&Password=" + escape(m_passwordControl.GetValue()) + "&FirstName=" + escape(m_firstNameControl.GetValue()) + "&Surname=" + escape(m_surnameControl.GetValue()) + "&FK_School=" + m_schoolDropdownControl.GetValue() + "&LDAPDomain=" + escape(m_ldapDomainControl.GetValue()));
break;
default:
alert("Unknown mode: " + m_currentMode);
break;
}
}
function m_cboGetUser_Complete(responseText, responseXML)
{
var oXmlUser = responseXML.documentElement.firstChild;
m_userNameControl.SetValue(oXmlUser.getAttribute("username"));
m_passwordControl.SetValue(oXmlUser.getAttribute("password"));
m_firstNameControl.SetValue(oXmlUser.getAttribute("firstname"));
m_surnameControl.SetValue(oXmlUser.getAttribute("surname"));
m_ldapDomainControl.SetValue(oXmlUser.getAttribute("ldapdomain"));
m_schoolDropdownControl.SetValue(oXmlUser.getAttribute("fk_school"));
m_checkboxArray.length = 0;
m_groupList.RefreshList("PK_User=" + m_PKUser);
}
function m_groupList_OnCellRender(pPKGroup, pColumnIdentifier, pValue, pCellTD)
{
var bChecked;
var oCheck;
if (pColumnIdentifier == 'fk_usergroup') {
bChecked = (pValue.length > 0 ? true : false);
oCheck = document.createElement("INPUT");
oCheck.type="checkbox";
pCellTD.appendChild(oCheck);
oCheck.checked = bChecked;
oCheck.value = pPKGroup;
oCheck.PK_Group = pPKGroup;
if (m_allowAddOnlyTeachers == true) {
if (m_currentMode == "add") {
oCheck.checked = (pPKGroup == 3); // set initial default to Teachers group
}
}
// can't change permissions if only allowed to add teachers
oCheck.disabled = (m_allowAddOnlyTeachers == true);
m_checkboxArray.push(oCheck);
return true;
}
return false;
}
function m_cboGeneric_Error(status, statusText, responseText)
{
ShowDebugWindow(responseText);
}
function m_cboUpdateUser_Complete(responseText, responseXML)
{
m_updateGroups();
}
function m_cboAddUser_Complete(responseText, responseXML)
{
if (responseText == "-1") {
alert("That username already exists. Please pick another one.");
return;
}
// new ID of user - user for adding groups.
m_PKUser = responseText;
m_updateGroups();
}
function m_updateGroups()
{
var o;
var sAction;
o = m_checkboxArray.pop();
if(!o) {
// all done.
m_updateComplete();
return;
}
sAction = "add";
if (o.checked == false) {
sAction = "delete"
}
m_cboUpdateUserGroup.DoCallBackManual('usergroups', sAction, "PK_User=" + m_PKUser + "&PK_Group=" + o.PK_Group);
}
function m_cboUpdateUserGroup_Complete(responseText, responseXML)
{
m_updateGroups();
}
function m_updateComplete()
{
m_setHiddenMode();
if (self.OnUpdateComplete) {
self.OnUpdateComplete();
}
}
function m_cancelButtonControl_onclick()
{
if (confirm("Are you sure you want to cancel?") == true) {
m_setHiddenMode();
if (self.OnUpdateComplete) {
self.OnUpdateComplete();
}
}
}
}
function SecurityUserGroupControl(pDropDownListContainer, pListContainer)
{
var m_dropDownListContainer = pDropDownListContainer;
var m_listContainer = pListContainer;
var self = this;
var m_PKGroup = null;
var m_currentUser = null;
var m_dropdownControl = new DropdownControl(m_dropDownListContainer, "groups", "PK_Group", "GroupName", false, false, false)
var m_cboListUsers = new CallBackObject();
var m_cboSetUserGroup = new CallBackObject();
m_cboListUsers.OnComplete = m_cboListUsers_Complete;
m_cboListUsers.OnError = m_cboGeneric_Error;
m_cboSetUserGroup.OnComplete = m_cboSetUserGroup_Complete;
m_cboSetUserGroup.OnError = m_cboGeneric_Error;
this.Refresh = m_RefreshUserList;
m_dropdownControl.OnChange = function(pPK) {
m_PKGroup = pPK;
m_RefreshUserList();
}
function m_RefreshUserList()
{
m_cboListUsers.DoCallBackManual('groupusers', 'list', "PK_Group=" + m_PKGroup);
}
function m_cboListUsers_Complete(responseText, responseXML)
{
var oXmlUser;
var oHtmlUserDiv;
var oHtmlUserCheckBox;
var oHtmlUserText;
m_listContainer.innerHTML = "";
oXmlUser = responseXML.documentElement.firstChild;
while(oXmlUser != null)
{
oHtmlUserDiv = document.createElement("div");
oHtmlUserDiv.className = "SecurityUserGroupControlListItem";
m_listContainer.appendChild(oHtmlUserDiv);
oHtmlUserCheckBox = document.createElement("INPUT");
oHtmlUserCheckBox.type = "checkbox";
oHtmlUserCheckBox.value = oXmlUser.getAttribute("pk_user");
oHtmlUserCheckBox.PKUser = oXmlUser.getAttribute("pk_user");
oHtmlUserCheckBox.PKUserGroup = oXmlUser.getAttribute("pk_usergroup");
oHtmlUserDiv.appendChild(oHtmlUserCheckBox);
oHtmlUserCheckBox.checked = (oXmlUser.getAttribute("pk_usergroup").length > 0);
oHtmlUserCheckBox.onclick = m_userChanged;
oHtmlUserText = document.createElement("SPAN");
oHtmlUserText.innerHTML = oXmlUser.getAttribute("username")
oHtmlUserDiv.appendChild(oHtmlUserText);
oXmlUser = oXmlUser.nextSibling;
}
}
function m_userChanged()
{
m_currentUser = this;
if (this.checked == true){
m_cboSetUserGroup.DoCallBackManual('groupusers', 'add', "PK_Group=" + m_PKGroup + "&PK_User=" + this.PKUser);
} else {
m_cboSetUserGroup.DoCallBackManual('groupusers', 'delete', "PK_UserGroup=" + this.PKUserGroup);
}
}
function m_cboSetUserGroup_Complete(responseText, responseXML)
{
m_currentUser.PKUserGroup = responseText;
}
function m_cboGeneric_Error(status, statusText, responseText)
{
ShowDebugWindow(responseText);
}
}
function SecurityUserListControl(pContainer, pPKSchoolInitial, pbAllowChangeSchool)
{
var self = this;
var m_container = pContainer;
var m_allowChangeSchool = pbAllowChangeSchool; /* allow the end user to change the school */
var m_PKSchoolInitial = pPKSchoolInitial;
var m_PKSchool = null;
var m_schoolsList = null;
var m_listView = null;
var m_newUserButtonControl = null;
var m_cboDeleteUser = new CallBackObject();
m_cboDeleteUser.OnComplete = m_cboDeleteUser_Complete;
m_cboDeleteUser.OnError = m_cboGeneric_Error;
this.Refresh = m_refresh;
this.OnUserClick = null; // function(pPK_User)
this.OnNewUserButtonClick = null;
m_initialise();
function m_initialise()
{
var oText;
m_schoolsList = new DropdownControl(m_container, "schools", "PK_School", "SchoolName", false, false, false);
m_schoolsList.OnChange = m_schoolsList_OnChange;
m_schoolsList.OnRefreshComplete = m_schoolsList_OnRefreshComplete;
oText = document.createElement("SPAN");
oText.innerHTML = " ";
m_container.appendChild(oText);
m_newUserButtonControl = document.createElement("INPUT");
m_newUserButtonControl.type = "button";
m_newUserButtonControl.className = "FlatButton";
m_newUserButtonControl.value = "Create New User";
m_newUserButtonControl.onclick = m_newUserButtonControl_onclick;
m_container.appendChild(m_newUserButtonControl);
m_container.appendChild(document.createElement("HR"));
oText = document.createElement("DIV");
oText.innerHTML = "Click on a user below to edit that user's details.";
m_container.appendChild(oText);
m_container.appendChild(document.createElement("HR"));
m_listView = new ListViewControl(m_container, "schoolusers", "PK_User", "UserName|FirstName|Surname|PK_User", "User Name|First Name|Surname|_Delete", "150|150|150|150", 600, 300, false);
m_listView.OnCellClick = m_listView_OnCellClick;
m_listView.OnCellRender = m_listView_OnCellRender;
}
function m_schoolsList_OnChange(pPKSchool)
{
m_PKSchool = pPKSchool;
m_listView.RefreshList('PK_School=' + m_PKSchool);
}
function m_schoolsList_OnRefreshComplete()
{
m_schoolsList.SetValue(m_PKSchoolInitial);
if(m_allowChangeSchool == false ) {
m_schoolsList.SetEnabled(false);
}
}
function m_listView_OnCellClick(pPK_User, pColumnIdentifier, pValue, pCellTD)
{
if (pColumnIdentifier == "pk_user")
{
m_deleteUser(pPK_User);
return;
}
if (self.OnUserClick) {
self.OnUserClick(pPK_User);
}
}
function m_refresh()
{
m_listView.RefreshList('PK_School=' + m_PKSchool);
}
function m_newUserButtonControl_onclick()
{
if (self.OnNewUserButtonClick) {
self.OnNewUserButtonClick();
}
}
function m_listView_OnCellRender(pPKObject, pColumnIdentifier, pValue, pCellTD)
{
var deleteImageControl;
if (pColumnIdentifier == "pk_user") {
deleteImageControl = document.createElement("IMG");
deleteImageControl.src = "images/delete.png"
deleteImageControl.title = "Delete User";
deleteImageControl.height = "16";
deleteImageControl.width = "16";
pCellTD.appendChild(deleteImageControl);
pCellTD.align = "center";
return true;
}
return false;
}
function m_deleteUser(pPK_User)
{
if (confirm("Are you sure you want to delete this user?") == false) {
return;
}
m_cboDeleteUser.DoCallBackManual('user', 'delete', "PK_User=" + pPK_User);
}
function m_cboDeleteUser_Complete(responseText, responseXML)
{
m_refresh();
}
function m_cboGeneric_Error(status, statusText, responseText)
{
ShowDebugWindow(responseText);
}
}
function SortOrderControl(pContainer, pDataToSort)
{
var self = this;
var m_container = pContainer;
var m_data = pDataToSort;
var m_selectedItem = 0;
var m_listContainer = null;
var m_buttonContainer = null;
this.GetData = m_get;
m_initialise();
function m_initialise()
{
m_listContainer = document.createElement("DIV");
m_container.appendChild(m_listContainer);
m_buttonContainer = document.createElement("DIV");
m_buttonContainer.className = "SortOrderControlButtonControl";
m_container.appendChild(m_buttonContainer);
m_renderButtons();
m_refreshList();
}
function m_refreshList()
{
var table, tbody, tr, td;
var i;
m_listContainer.innerHTML = "";
table = document.createElement("TABLE");
m_listContainer.appendChild(table);
table.border = "0";
table.cellPadding = "0";
table.cellSpacing = "0";
table.width = "500";
table.className = "SortOrderControlTableControl";
tbody = document.createElement("TBODY");
table.appendChild(tbody);
for (i=0;i 0)
deleteImageControl = document.createElement("IMG");
if (bDeleteDisabled == true) {
deleteImageControl.src = "images/delete-disabled.png"
deleteImageControl.title = "Cannot delete this strand because it is used in " + pValue + " report(s).";
} else {
deleteImageControl.src = "images/delete.png"
deleteImageControl.title = "Delete strand";
}
deleteImageControl.height = "16";
deleteImageControl.width = "16";
pCellTD.appendChild(deleteImageControl);
pCellTD.align = "center";
return true;
}
return false;
}
function m_listView_OnCellClick(pPKObject, pColumnIdentifier, pValue)
{
var bDeleteDisabled;
if (pColumnIdentifier == "editvalue") {
m_PKObject = pPKObject;
m_textInputControl.value = pValue;
m_setMode("update");
} else if (pColumnIdentifier == "deletevalue") {
bDeleteDisabled = (pValue > 0);
if (bDeleteDisabled == true) {
alert("Cannot delete this strand because it is used in " + pValue + " report(s).");
return;
}
m_delete(pPKObject);
}
}
function m_addPopupContainerControl_OnConfirm()
{
var params;
if (m_textInputControl.value.length == 0) {
alert("Text field cannot be blank.");
return;
}
if (m_mode == 'update') {
params = "PK_Strand=" + m_PKObject + "&StrandName=" + escape(m_textInputControl.value);
} else {
params = "PK_Subject=" + m_PKSubject + "&StrandName=" + escape(m_textInputControl.value);
}
m_cboSave.DoCallBackManual("strand", m_mode, params);
}
function m_addPopupContainerControl_OnCancel()
{
}
function m_cboSave_Complete(responseText, responseXML)
{
m_listView.RefreshList('PK_Subject=' + m_PKSubject);
}
function m_cboGeneric_Error(status, statusText, responseText)
{
ShowDebugWindow(responseText);
}
function m_delete(pObjectPK)
{
if (confirm("Are you sure you want to delete this strand?") == false) {
return;
}
m_cboDelete.DoCallBackManual("strand", "delete", "PK_Strand=" + pObjectPK);
}
function m_cboDelete_Complete(responseText, responseXML)
{
m_listView.RefreshList('PK_Subject=' + m_PKSubject);
}
}
function StrandsControl(pContainer, pPKSchoolInitial, pbAllowChangeSchool, pbAllowModifyGlobalSubjects)
{
var self = this;
/*Parameters*/
var m_container = pContainer;
var m_allowChangeSchool = pbAllowChangeSchool; /* allow the end user to change the school */
var m_PKSchoolInitial = pPKSchoolInitial;
var m_PKSchool = m_PKSchoolInitial;
var m_PKSubject = null;
var m_bAllowModifyGlobalSubjects = pbAllowModifyGlobalSubjects
/* HTML controls */
var m_schoolsList = null;
var m_subjectList = null;
var m_strandModifyControlContainer = null;
var m_configureLockControl = null;
var m_lockContainer = null;
var m_contentContainer = null;
this.Refresh = m_refresh;
m_initialise();
function m_initialise()
{
m_schoolsList = new DropdownControl(m_container, "schools", "PK_School", "SchoolName", false, false, false, true, 400);
m_schoolsList.OnChange = m_schoolsList_OnChange;
m_schoolsList.OnRefreshComplete = m_schoolsList_OnRefreshComplete;
m_subjectList = new DropdownControl(m_container, "subjectsbyschool_ex", "PK_Subject", "SubjectName", false, false, false, false, 200);
m_subjectList.OnChange = m_subjectList_OnChange;
m_contentContainer = document.createElement("DIV");
m_container.appendChild(m_contentContainer);
m_contentContainer.appendChild(document.createElement("HR"));
m_schoolListContainer = document.createElement("DIV");
m_contentContainer.appendChild(m_schoolListContainer);
m_contentContainer.appendChild(document.createElement("HR"));
m_strandModifyControlContainer = document.createElement("DIV");
m_contentContainer.appendChild(m_strandModifyControlContainer);
m_lockContainer = document.createElement("DIV");
m_container.appendChild(m_lockContainer);
}
function m_refresh()
{
if(!m_PKSchool) return;
m_contentContainer.style.display = "none";
m_lockContainer.innerHTML = "";
m_configureLockControl = new ConfigureLockControl(m_lockContainer, m_PKSchool);
m_configureLockControl.OnComplete = m_configureLockControl_OnComplete;
}
function m_configureLockControl_OnComplete(pbLocked)
{
if (!pbLocked) {
m_contentContainer.style.display = "block";
m_subjectList.Refresh("PK_School=" + m_PKSchool + "&IncludeGlobalSubjects=" + m_bAllowModifyGlobalSubjects);
}
}
function m_schoolsList_OnChange(pPKSchool)
{
m_PKSchool = pPKSchool;
m_refresh();
}
function m_schoolsList_OnRefreshComplete()
{
m_schoolsList.SetValue(m_PKSchoolInitial);
if(m_allowChangeSchool == false ) {
m_schoolsList.SetEnabled(false);
}
}
function m_subjectList_OnChange(pPKSubject)
{
m_PKSubject = pPKSubject;
m_loadSubjects();
}
function m_loadSubjects()
{
if ((!m_PKSchool) || (!m_PKSubject)) {
return;
}
m_strandModifyControlContainer.innerHTML = "";
new StrandModifyControl(m_strandModifyControlContainer, m_PKSubject, m_PKSchool, m_bAllowModifyGlobalSubjects);
}
}
function StudentEditControl(pContainer, pPKSchoolInitial, pbAllowChangeSchool)
{
var self = this;
var m_container = pContainer;
var m_PKStudent = null;
var m_currentMode = null;
var m_allowChangeSchool = pbAllowChangeSchool; /* allow the end user to change the school */
var m_PKSchoolInitial = pPKSchoolInitial;
var m_modeIndicator = null;
var m_studentNumberControl = null;
var m_firstNameControl = null;
var m_surnameControl = null;
var m_genderControl = null;
var m_schoolClassControl = null;
var m_gradeControl = null;
var m_archivedControl = null;
var m_updateButtonControl = null;
var m_cancelButtonControl = null;
var m_cboGetStudent = new CallBackObject();
var m_cboAddStudent = new CallBackObject();
var m_cboUpdateStudent = new CallBackObject();
m_cboGetStudent.OnComplete = m_cboGetStudent_Complete;
m_cboGetStudent.OnError = m_cboGeneric_Error;
m_cboAddStudent.OnComplete = m_cboAddStudent_Complete;
m_cboAddStudent.OnError = m_cboGeneric_Error;
m_cboUpdateStudent.OnComplete = m_cboUpdateStudent_Complete;
m_cboUpdateStudent.OnError = m_cboGeneric_Error;
this.EditStudent = m_editStudent;
this.AddStudent = m_addStudent;
this.Show = m_show;
this.Hide = m_hide;
this.OnUpdateComplete = null; // Fired whenever entry has been added or updated
m_initialise();
function m_initialise()
{
var oText;
m_modeIndicator = document.createElement("B");
m_container.appendChild(m_modeIndicator);
m_container.appendChild(document.createElement("HR"));
m_studentNumberControl = new BasicTextControl(m_container, "Student No:", 255, 200, true);
m_firstNameControl = new BasicTextControl(m_container, "First Name:", 255, 200, true);
m_surnameControl = new BasicTextControl(m_container, "Surname:", 255, 200, true);
m_container.appendChild(document.createElement("HR"));
oText = document.createElement("B");
oText.innerHTML = "Gender:";
oText.className = "SecurityUserControlLabel";
m_container.appendChild(oText);
m_genderControl = document.createElement("SELECT");
newOpt = document.createElement("OPTION");
m_genderControl.options.add(newOpt);
newOpt.value = "M";
newOpt.innerHTML = "M";
newOpt = document.createElement("OPTION");
m_genderControl.options.add(newOpt);
newOpt.value = "F";
newOpt.innerHTML = "F";
m_container.appendChild(m_genderControl);
m_container.appendChild(document.createElement("HR"));
oText = document.createElement("B");
oText.innerHTML = "School Class:";
oText.className = "SecurityUserControlLabel";
m_container.appendChild(oText);
m_schoolClassControl = new DropdownControl(m_container, "schoolschoolclasses", "PK_SchoolClass", "SchoolClassName", false, false, false, false, 500);
if (m_allowChangeSchool == true)
{
m_schoolClassControl.Refresh("PK_School=-1");
} else {
m_schoolClassControl.Refresh("PK_School=" + m_PKSchoolInitial);
}
m_container.appendChild(document.createElement("HR"));
oText = document.createElement("B");
oText.innerHTML = "Grade:";
oText.className = "SecurityUserControlLabel";
m_container.appendChild(oText);
m_gradeControl = new DropdownControl(m_container, "grades", "PK_Grade", "GradeName", false, false, false, true, 50)
m_container.appendChild(document.createElement("HR"));
m_archivedControl = new BasicCheckboxControl(m_container, "Archived (i.e. no longer attending school)", false);
m_container.appendChild(document.createElement("HR"));
m_updateButtonControl = document.createElement("INPUT");
m_updateButtonControl.type = "button";
m_updateButtonControl.className = "FlatButton";
m_updateButtonControl.onclick = m_updateButtonControl_onclick;
m_container.appendChild(m_updateButtonControl);
oText = document.createElement("SPAN");
oText.innerHTML = " ";
m_container.appendChild(oText);
m_cancelButtonControl = document.createElement("INPUT");
m_cancelButtonControl.type = "button";
m_cancelButtonControl.className = "FlatButton";
m_cancelButtonControl.value = "Cancel";
m_cancelButtonControl.onclick = m_cancelButtonControl_onclick;
m_container.appendChild(m_cancelButtonControl);
m_setAddMode();
}
function m_addStudent()
{
m_setAddMode();
}
function m_editStudent(pPK_Student)
{
m_setEditMode(pPK_Student);
}
function m_setEditMode(pPK_Student)
{
m_currentMode = "edit";
m_PKStudent = pPK_Student;
m_modeIndicator.innerHTML = "Update Student"
m_updateButtonControl.value = "Update";
m_cboGetStudent.DoCallBackManual('student', 'get', "PK_Student=" + m_PKStudent);
}
function m_setAddMode()
{
m_currentMode = "add";
m_PKStudent = null;
m_modeIndicator.innerHTML = "Add New Student"
m_studentNumberControl.SetValue("");
m_firstNameControl.SetValue("");
m_surnameControl.SetValue("");
m_genderControl.value = "F";
m_archivedControl.SetChecked(false);
m_archivedControl.SetEnabled(false);
m_updateButtonControl.value = "Add";
}
function m_updateButtonControl_onclick()
{
var archived;
switch(m_currentMode)
{
case "edit":
archived = (m_archivedControl.GetChecked() == true? "&Archived=True" : "&Archived=False");
m_cboUpdateStudent.DoCallBackManual('student_ex', 'update', "PK_Student=" + m_PKStudent + "&StudentNumber=" + escape(m_studentNumberControl.GetValue()) + "&FirstName=" + escape(m_firstNameControl.GetValue()) + "&Surname=" + escape(m_surnameControl.GetValue()) + "&FK_SchoolClass=" + m_schoolClassControl.GetValue() + "&Gender=" + m_genderControl.value + "&FK_Grade=" + m_gradeControl.GetValue() + archived);
break;
case "add":
m_cboAddStudent.DoCallBackManual('student_ex', 'add', "StudentNumber=" + escape(m_studentNumberControl.GetValue()) + "&FirstName=" + escape(m_firstNameControl.GetValue()) + "&Surname=" + escape(m_surnameControl.GetValue()) + "&FK_SchoolClass=" + m_schoolClassControl.GetValue() + "&Gender=" + m_genderControl.value + "&FK_Grade=" + m_gradeControl.GetValue());
break;
default:
alert("Unknown mode: " + m_currentMode);
break;
}
}
function m_cboGetStudent_Complete(responseText, responseXML)
{
var oXmlStudent = responseXML.documentElement.firstChild;
m_studentNumberControl.SetValue(oXmlStudent.getAttribute("studentnumber"));
m_firstNameControl.SetValue(oXmlStudent.getAttribute("firstname"));
m_surnameControl.SetValue(oXmlStudent.getAttribute("surname"));
m_genderControl.value = oXmlStudent.getAttribute("gender")
m_schoolClassControl.SetValue(oXmlStudent.getAttribute("fk_schoolclass"));
m_gradeControl.SetValue(oXmlStudent.getAttribute("fk_grade"));
m_archivedControl.SetEnabled(true);
m_archivedControl.SetChecked((oXmlStudent.getAttribute("archived").toLowerCase() == "true"));
}
function m_cboGeneric_Error(status, statusText, responseText)
{
ShowDebugWindow(responseText);
}
function m_cboUpdateStudent_Complete(responseText, responseXML)
{
m_updateComplete();
}
function m_cboAddStudent_Complete(responseText, responseXML)
{
m_PKStudent = responseText;
m_updateComplete();
}
function m_updateComplete()
{
m_setAddMode();
if (self.OnUpdateComplete) {
self.OnUpdateComplete();
}
}
function m_cancelButtonControl_onclick()
{
if (confirm("Are you sure you want to cancel?") == true) {
m_setAddMode();
if (self.OnUpdateComplete) {
self.OnUpdateComplete();
}
}
}
function m_show()
{
m_container.style.display = "block";
}
function m_hide()
{
m_container.style.display = "none";
}
}
function StudentsControl(pContainer, pPKSchoolInitial, pbAllowChangeSchool, pbAllowChangeReportingPeriod, pbAllowAddStudent, pbAllowEditStudent, pbAllowCompleteObservationSurvey, pbShowStageData, pbShowYearData, pbAllowSummary, pbAllowFinalisedPrincipal)
{
var self = this;
var m_container = pContainer;
var m_allowChangeSchool = pbAllowChangeSchool; /* allow the end user to change the school */
var m_allowChangeReportingPeriod = pbAllowChangeReportingPeriod; /* allow the end user to change the reporting period */
var m_PKSchoolInitial = pPKSchoolInitial;
var m_PKSchool = null;
var m_PKSchoolClass = null;
var m_PKReportingPeriod = null;
var m_PKGrade = null;
var m_PKStage = null;
var m_limitType = 'schoolClass';
var m_schoolsList = null;
var m_reportingPeriodsList = null;
var m_schoolClassList = null;
var m_gradeList = null;
var m_stageList = null;
var m_studentListView = null;
var m_schoolClassRadioControl = null;
var m_gradeRadioControl = null;
var m_stageRadioControl = null;
var m_studentCountTextControl = null;
var m_reportingEnabledTextControl = null;
var m_printControl = null;
var m_checkAllControl = null;
var m_uncheckAllControl = null;
var m_addStudentControl = null;
var m_showSummaryControl = null;
var m_bAllowAddStudent = pbAllowAddStudent;
var m_bAllowEditStudent = pbAllowEditStudent;
var m_bAllowCompleteObservationSurvey = pbAllowCompleteObservationSurvey;
var m_bShowStageData = pbShowStageData;
var m_bShowYearData = pbShowYearData;
var m_bAllowSummary = pbAllowSummary;
var m_reportingEnabled = null;
var m_archivedControl = null;
// Prime Learning 29/03/2007
var m_bAllowFinalisedPrincipal = pbAllowFinalisedPrincipal;
var m_finalisedPrincipalControl = null;
var m_cboFinalisePrincipal = new CallBackObject();
m_cboFinalisePrincipal.OnError = m_cboGeneric_Error;
var m_cboGetReportingEnabled = new CallBackObject();
m_cboGetReportingEnabled.OnComplete = m_cboGetReportingEnabled_Complete;
m_cboGetReportingEnabled.OnError = m_cboGeneric_Error;
this.Refresh = m_refresh;
this.OnAddStudentClick = null;
this.OnEditStudentClick = null;
this.OnCompleteObservationSurveyClick = null;
this.Show = m_show;
this.Hide = m_hide;
m_intialise();
function m_intialise()
{
var oText;
oText = document.createElement("SPAN");
oText.innerHTML = "School: ";
m_container.appendChild(oText);
m_schoolsList = new DropdownControl(m_container, "schools", "PK_School", "SchoolName", false, false, false, true, 400);
oText = document.createElement("SPAN");
oText.innerHTML = " Reporting Period: ";
m_container.appendChild(oText);
m_reportingPeriodsList = new DropdownControl(m_container, "reportingperiods", "PK_ReportingPeriod", "ReportingPeriodName", false, false, false, true);
m_container.appendChild(document.createElement("HR"));
oText = document.createElement("SPAN");
oText.innerHTML = "Filter By: ";
m_container.appendChild(oText);
if (document.all) {
m_schoolClassRadioControl = document.createElement("");
} else {
m_schoolClassRadioControl = document.createElement("INPUT");
m_schoolClassRadioControl.type = "radio";
m_schoolClassRadioControl.name = "limitType";
}
m_schoolClassRadioControl.value = "schoolClass";
m_schoolClassRadioControl.onclick = m_setLimitType;
m_container.appendChild(m_schoolClassRadioControl);
m_schoolClassRadioControl.checked = true;
oText = document.createElement("SPAN");
oText.innerHTML = "Class: ";
m_container.appendChild(oText);
m_schoolClassList = new DropdownControl(m_container, "schoolclassesforusergroup", "PK_SchoolClass", "SchoolClassName", false, false, false, false, 100);
m_schoolClassList.OnRefreshComplete = m_enableDisableLimitType;
if (document.all) {
m_gradeRadioControl = document.createElement("");
} else {
m_gradeRadioControl = document.createElement("INPUT");
m_gradeRadioControl.type = "radio";
m_gradeRadioControl.name = "limitType";
}
m_gradeRadioControl.value = "grade";
m_gradeRadioControl.onclick = m_setLimitType;
m_container.appendChild(m_gradeRadioControl);
oText = document.createElement("SPAN");
oText.innerHTML = "Year: ";
m_container.appendChild(oText);
/* 20071008: CG01 Drop down list now tied to users. */
m_gradeList = new DropdownControl(m_container, "gradesforusergroup", "PK_Grade", "GradeName", false, false, false, false, 100);
m_gradeList.Refresh('PK_UserGroup=' + user.PK_UserGroup);
m_gradeList.OnRefreshComplete = m_enableDisableLimitType;
/* Only enable stage selection if client has opted for it in systemSettings*/
if (m_bShowStageData == true)
{
if (document.all) {
m_stageRadioControl = document.createElement("");
} else {
m_stageRadioControl = document.createElement("INPUT");
m_stageRadioControl.type = "radio";
m_stageRadioControl.name = "limitType";
}
m_stageRadioControl.type = "radio";
m_stageRadioControl.name = "limitType";
m_stageRadioControl.value = "stage";
m_stageRadioControl.onclick = m_setLimitType;
m_container.appendChild(m_stageRadioControl);
oText = document.createElement("SPAN");
oText.innerHTML = "Stage: ";
m_container.appendChild(oText);
/* 20071008: CG01 Drop down list now tied to users. */
m_stageList = new DropdownControl(m_container, "stagesforusergroup", "PK_Stage", "StageName", false, false, false, false, 100);
m_stageList.Refresh('PK_UserGroup=' + user.PK_UserGroup);
m_stageList.OnRefreshComplete = m_enableDisableLimitType;
m_stageList.OnChange = m_stageList_OnChange;
}
m_archivedControl = new BasicCheckboxControl(m_container, "Archived", false);
// m_archivedControl = new BasicCheckboxControl(m_container, "Archive Disabled", false, true); //last function param passed as cant click / disabled switch
m_archivedControl.OnChange = m_archivedControl_OnChange;
m_container.appendChild(document.createElement("HR"));
var columns = "";
var columnNames = "";
var columnWidths = "";
var totalWidth = 0;
if (m_bAllowEditStudent == true) {
columns += "PK_Student|";
columnNames += "_Edit|"
columnWidths += "50|";
totalWidth += 50;
}
if (m_bAllowCompleteObservationSurvey == true) {
columns += "ObservationSurveyApplicable|";
columnNames += "_OS|"
columnWidths += "50|";
totalWidth += 50;
}
/* These columns are always included */
columns += "StudentNumber|Firstname|Surname|Gender|";
columnNames += "Student No.|First Name|Surname|_Gender|";
columnWidths += "100|150|150|60|";
totalWidth += 460;
if (m_bShowYearData == true) {
columns += "GradeName|";
columnNames += "_Year|";
columnWidths += "80|";
totalWidth += 80;
}
if (m_bShowStageData == true) {
columns += "StageName|";
columnNames += "_Stage|";
columnWidths += "100|";
totalWidth += 100;
}
// Prime Learning
// added finalised by Reviewer (FR)
columns += "SchoolClassName|FinalisedByTeacher|FinalisedByReviewer|FinalisedByPrincipal";
columnNames += "_Class|_FT|_FR|_FP";
columnWidths += "80|20|20|20";
totalWidth += 120;
m_studentListView = new ListViewControl(m_container, "studentsforusergroup", "PK_Student", columns, columnNames, columnWidths, totalWidth, 350, true);
m_container.appendChild(document.createElement("HR"));
m_uncheckAllControl = document.createElement("INPUT");
m_uncheckAllControl.type = "button";
m_uncheckAllControl.value = "Select None";
m_uncheckAllControl.className = "StudentsControlFlatButton";
m_uncheckAllControl.onclick = m_uncheckAllControl_onclick;
m_container.appendChild(m_uncheckAllControl);
m_checkAllControl = document.createElement("INPUT");
m_checkAllControl.type = "button";
m_checkAllControl.value = "Select All";
m_checkAllControl.className = "StudentsControlFlatButton";
m_checkAllControl.onclick = m_checkAllControl_onclick;
m_container.appendChild(m_checkAllControl);
m_printControl = document.createElement("INPUT");
m_printControl.type = "button";
m_printControl.value = "Print Selected";
m_printControl.className = "StudentsControlFlatButton";
m_printControl.onclick = m_printControl_onclick;
m_container.appendChild(m_printControl);
// Prime Learning 29/03/2007
if (m_bAllowFinalisedPrincipal == true)
{
m_finalisedPrincipalControl = document.createElement("INPUT");
m_finalisedPrincipalControl.type = "button";
m_finalisedPrincipalControl.value = "Principal Finalise Selected";
m_finalisedPrincipalControl.className = "StudentsControlFlatButton";
m_finalisedPrincipalControl.onclick = m_finalisedPrincipalControl_onclick;
m_container.appendChild(m_finalisedPrincipalControl);
}
if (m_bAllowAddStudent == true)
{
m_addStudentControl = document.createElement("INPUT");
m_addStudentControl.type = "button";
m_addStudentControl.value = "Add New Student...";
m_addStudentControl.className = "StudentsControlFlatButton";
m_addStudentControl.onclick = m_addStudentControl_onclick;
m_container.appendChild(m_addStudentControl);
}
if (m_bAllowSummary == true)
{
m_showSummaryControl = document.createElement("INPUT");
m_showSummaryControl.type = "button";
m_showSummaryControl.value = "Show Summary...";
m_showSummaryControl.className = "StudentsControlFlatButton";
m_showSummaryControl.onclick = m_showSummaryControl_onclick;
m_container.appendChild(m_showSummaryControl);
}
m_container.appendChild(document.createElement("BR"));
m_studentCountTextControl = document.createElement("SPAN");
m_studentCountTextControl.className = "StudentsControlStudentCountTextControl";
m_container.appendChild(m_studentCountTextControl);
m_reportingEnabledTextControl = document.createElement("SPAN");
m_reportingEnabledTextControl.className = "StudentsControlReportingEnabledTextControl";
m_container.appendChild(m_reportingEnabledTextControl);
}
/* Events */
this.OnClickStudent = null;
m_schoolsList.OnChange = function(pPKSchool)
{
m_PKSchool = pPKSchool;
m_schoolClassList.Refresh('PK_School=' + m_PKSchool + '&PK_UserGroup=' + user.PK_UserGroup);
}
m_schoolsList.OnRefreshComplete = function()
{
m_schoolsList.SetValue(m_PKSchoolInitial);
if(m_allowChangeSchool == false ) {
m_schoolsList.SetEnabled(false);
}
}
m_reportingPeriodsList.OnRefreshComplete = function()
{
if(m_allowChangeReportingPeriod == false ) {
m_reportingPeriodsList.SetEnabled(false);
}
}
m_reportingPeriodsList.OnChange = function(pPKReportingPeriod)
{
m_PKReportingPeriod = pPKReportingPeriod;
m_RefreshStudentList();
}
m_schoolClassList.OnChange = function(pPKSchoolClass)
{
m_PKSchoolClass = pPKSchoolClass;
m_RefreshStudentList();
}
m_gradeList.OnChange = function(pPKGrade)
{
m_PKGrade = pPKGrade;
m_RefreshStudentList();
}
function m_stageList_OnChange(pPKStage)
{
m_PKStage = pPKStage;
m_RefreshStudentList();
}
function m_archivedControl_OnChange()
{
m_RefreshStudentList();
}
function m_setLimitType()
{
m_limitType = this.value;
m_enableDisableLimitType();
m_RefreshStudentList();
}
function m_enableDisableLimitType()
{
if (m_limitType == 'schoolClass') {
if (m_schoolClassList) m_schoolClassList.SetEnabled(true);
if (m_gradeList) m_gradeList.SetEnabled(false);
if (m_stageList) m_stageList.SetEnabled(false);
} else if (m_limitType == 'grade') {
if (m_schoolClassList) m_schoolClassList.SetEnabled(false);
if (m_gradeList) m_gradeList.SetEnabled(true);
if (m_stageList) m_stageList.SetEnabled(false);
} else if (m_limitType == 'stage') {
if (m_schoolClassList) m_schoolClassList.SetEnabled(false);
if (m_gradeList) m_gradeList.SetEnabled(false);
if (m_stageList) m_stageList.SetEnabled(true);
}
}
function m_refresh()
{
m_RefreshStudentList();
}
function m_RefreshStudentList()
{
if (m_PKReportingPeriod == null) return;
if (m_PKSchool == null) return;
m_cboGetReportingEnabled.DoCallBackManual("schoolreportingperiod", "get", "PK_School=" + m_PKSchool + "&PK_ReportingPeriod=" + m_PKReportingPeriod);
}
function m_cboGetReportingEnabled_Complete(responseText, responseXML)
{
var iPK;
var xml = responseXML.lastChild.firstChild;
var archived;
archived = (m_archivedControl.GetChecked() == true? "&Archived=True" : "&Archived=False");
/* Get a boolean value indicating that reporting enabled for this reporting period. */
m_reportingEnabled = (xml.getAttribute("reportingenabled").toLowerCase() == "true");
m_reportingEnabledTextControl.innerHTML = (m_reportingEnabled == true? "(reporting enabled)" : "(reporting disabled)");
iPK = m_getPK();
if (iPK == null) return;
m_studentListView.RefreshList("LimitType=" + m_limitType + "&PK=" + iPK + "&PK_School=" + m_PKSchool + "&PK_ReportingPeriod=" + m_PKReportingPeriod + archived + "&PK_UserGroup=" + user.PK_UserGroup);
}
m_studentListView.OnCellRender = function(pPKStudent, pColumnIdentifier, pValue, pContainer)
{
var editImageControl = null;
var osImageControl = null;
if (pColumnIdentifier == "finalisedbyteacher")
{
if (pValue.toLowerCase() == 'y')
{
pContainer.innerHTML = "
";
} else {
pContainer.innerHTML = "
";
}
return true;
} else if (pColumnIdentifier == "finalisedbyprincipal") {
if (pValue.toLowerCase() == 'y')
{
pContainer.innerHTML = "
";
} else {
pContainer.innerHTML = "
";
}
return true;
} else if (pColumnIdentifier == "finalisedbyreviewer") {
if (pValue.toLowerCase() == 'y')
{
pContainer.innerHTML = "
";
} else {
pContainer.innerHTML = "
";
}
return true;
} else if (pColumnIdentifier == "pk_student") {
if (m_bAllowEditStudent == true)
{
editImageControl = document.createElement("IMG");
editImageControl.src = "images/edit.png"
editImageControl.height = "16";
editImageControl.width = "16";
editImageControl.title = "Edit Student Details";
pContainer.appendChild(editImageControl);
} else {
pContainer.innerHTML = "N/A";
}
return true;
} else if (pColumnIdentifier == "observationsurveyapplicable") {
if ((m_bAllowCompleteObservationSurvey == true) && (pValue > 0)) /*only students in certain grades (1) participate in survey */
{
osImageControl = document.createElement("IMG");
switch(parseInt(pValue))
{
case 1:
osImageControl.src = "images/observationsurvey.png";
osImageControl.title = "Observation Survey (Not yet completed)";
break;
case 2:
osImageControl.src = "images/observationsurvey-incomplete.png";
osImageControl.title = "Observation Survey (Started but Incomplete)";
break;
case 3:
osImageControl.src = "images/observationsurvey-partialcomplete.png";
osImageControl.title = "Observation Survey (Partially Completed)";
break;
case 4:
osImageControl.src = "images/observationsurvey-complete.png";
osImageControl.title = "Observation Survey (Completed)";
break;
}
osImageControl.height = "16";
osImageControl.width = "16";
pContainer.appendChild(osImageControl);
} else {
pContainer.innerHTML = "N/A";
}
return true;
}
return false;
}
m_studentListView.OnCellClick = function(pPKStudent, pColumnIdentifier, pValue)
{
if (pColumnIdentifier == "pk_student") {
if (m_bAllowEditStudent == true) {
if (self.OnEditStudentClick) {
self.OnEditStudentClick(pPKStudent);
}
}
return;
}
if (pColumnIdentifier == "observationsurveyapplicable") {
if ((m_bAllowCompleteObservationSurvey == true) && (pValue > 0))
{
if (self.OnCompleteObservationSurveyClick) {
self.OnCompleteObservationSurveyClick(pPKStudent);
}
}
return;
}
if (self.OnClickStudent) {
if (m_reportingEnabled == false) {
alert("You cannot write reports for this reporting period because the School Administrator has not yet enabled reporting writing.");
return;
}
/* 20070525: LUC: Event now passes archived state. */
self.OnClickStudent(m_limitType, m_getPK(), m_PKSchool, m_PKReportingPeriod, pPKStudent, m_archivedControl.GetChecked())
}
}
m_studentListView.OnRefreshComplete = function(pCount)
{
m_studentCountTextControl.innerHTML = pCount + " students";
}
/*20210608 Wr: commented out old oform.action and added link to intranet reports*/
function m_printControl_onclick()
{
var oPKs;
var oForm;
var oPKStudents;
var oPKReportingPeriod;
oPKs = m_studentListView.GetCheckedItems();
if (oPKs == null || oPKs.length == 0) {
alert("Please select some students first.");
return;
}
oPKStudents = document.createElement("INPUT");
oPKStudents.type = "hidden";
oPKStudents.name = "pk_student";
oPKStudents.value = oPKs;
oPKReportingPeriod = document.createElement("INPUT");
oPKReportingPeriod.type = "hidden";
oPKReportingPeriod.name = "pk_reportingperiod";
oPKReportingPeriod.value = m_PKReportingPeriod;
oForm = document.createElement("form");
m_container.appendChild(oForm);
//oForm.action = "reports/report.aspx";
oForm.action = "https://intranet.cg.catholic.edu.au/informationsystems/primaryReporting/Pages/SchoolOnTrackACTReport.aspx";
oForm.method = "post";
oForm.target = "_new";
oForm.appendChild(oPKStudents);
oForm.appendChild(oPKReportingPeriod);
oForm.submit();
}
function m_checkAllControl_onclick()
{
m_studentListView.CheckAllItems();
}
function m_uncheckAllControl_onclick()
{
m_studentListView.UncheckAllItems();
}
function m_getPK()
{
if (m_limitType == 'schoolClass' && m_PKSchoolClass == null) return null;
if (m_limitType == 'grade' && m_PKGrade == null) return null;
if (m_limitType == 'stage' && m_PKStage == null) return null;
if (m_limitType == 'schoolClass') return m_PKSchoolClass;
if (m_limitType == 'grade') return m_PKGrade;
if (m_limitType == 'stage') return m_PKStage;
return null;
}
function m_addStudentControl_onclick()
{
if (self.OnAddStudentClick) {
self.OnAddStudentClick();
}
}
function m_showSummaryControl_onclick()
{
var url;
url = "reports/summary.aspx?pk_school=" + m_PKSchool + "&pk_reportingperiod=" + m_PKReportingPeriod;
window.open(url);
}
//Prime Learning 29/03/2007
function m_finalisedPrincipalControl_onclick(){
var oPKs;
var oForm;
var oPKStudents;
var oPKReportingPeriod;
var tmp_student = "";
oPKs = m_studentListView.GetCheckedItems();
if (oPKs == null || oPKs.length == 0) {
alert("Please select some students first.");
return;
}
m_cboFinalisePrincipal.DoCallBackManual('setFinalisePrincipal', 'set', "FK_Student=" + m_studentListView.GetCheckedItems() + "&FK_ReportingPeriod=" + m_PKReportingPeriod);
// refresh the Student list
archived = (m_archivedControl.GetChecked() == true? "&Archived=True" : "&Archived=False");
m_reportingEnabledTextControl.innerHTML = (m_reportingEnabled == true? "(reporting enabled)" : "(reporting disabled)");
iPK = m_getPK();
if (iPK == null) return;
//m_studentListView.RefreshList("LimitType=" + m_limitType + "&PK=" + iPK + "&PK_School=" + m_PKSchool + "&PK_ReportingPeriod=" + m_PKReportingPeriod + archived); --missing &PK_UserGroup ??
m_studentListView.RefreshList("LimitType=" + m_limitType + "&PK=" + iPK + "&PK_School=" + m_PKSchool + "&PK_ReportingPeriod=" + m_PKReportingPeriod + archived + "&PK_UserGroup=" + user.PK_UserGroup);
}
function m_show()
{
m_container.style.display = "block";
}
function m_hide()
{
m_container.style.display = "none";
}
function m_cboGeneric_Error(status, statusText, responseText)
{
ShowDebugWindow(responseText);
}
}
function SubjectModifyControl(pContainer, pbEditMode, pbAllowGlobalSubject, pPKSchool, pPKSubject)
{
var self = this;
var m_container = pContainer;
var m_editMode = pbEditMode;
var m_allowGlobalSubject = pbAllowGlobalSubject;
var m_PKSchool = pPKSchool;
var m_PKSubject = pPKSubject;
var m_titleText;
var m_confirmText;
var m_popupControl = null;
var m_subjectNameControl = null;
var m_abbreviationControl = null;
var m_globalSubjectControl = null;
var m_mandatoryControl = null;
var m_strandsMandatoryControl = null;
var m_commentMandatoryControl = null;
var m_overrideCommentMandatoryControl = null;
var m_subjectOptionalControl = null;
var m_cboLoad = new CallBackObject();
m_cboLoad.OnComplete = m_cboLoad_Complete;
m_cboLoad.OnError = m_cboGeneric_Error;
var m_cboAdd = new CallBackObject();
m_cboAdd.OnComplete = m_cboAdd_Complete;
m_cboAdd.OnError = m_cboGeneric_Error;
var m_cboUpdate = new CallBackObject();
m_cboUpdate.OnComplete = m_cboUpdate_Complete;
m_cboUpdate.OnError = m_cboGeneric_Error;
/* Event fired when a change is committed that requires a refresh of parent data */
this.OnCommit = null;
m_initialise();
function m_initialise()
{
m_titleText = (m_editMode == true ? "Edit" : "Add");
m_confirmText = (m_editMode == true ? "Edit" : "Add");
m_popupControl = new PopupContainerControl(m_container, 900, 300, 400, 250, m_titleText, m_confirmText);
m_popupControl.OnConfirm = m_popupControl_OnConfirm;
m_popupControl.OnCancel = m_popupControl_OnCancel;
m_subjectNameControl = new BasicTextControl(m_popupControl.GetContainer(), "Subject Name:", 255, 200, true);
m_abbreviationControl = new BasicTextControl(m_popupControl.GetContainer(), "Abbreviation:", 20, 100, true);
if (m_allowGlobalSubject == true)
{
m_globalSubjectControl = new BasicCheckboxControl(m_popupControl.GetContainer(), "Global subject (applicable to all schools)", true);
}
m_subjectOptionalControl = new BasicCheckboxControl(m_popupControl.GetContainer(), "Subject is optional", true);
m_popupControl.Show();
if (m_editMode == true) {
m_load();
}
}
function m_load()
{
m_cboLoad.DoCallBackManual("subjects", "get", "PK_Subject=" + m_PKSubject);
}
function m_cboLoad_Complete(responseText, responseXML)
{
var xml = responseXML.lastChild.firstChild
m_subjectNameControl.SetValue(xml.getAttribute("subjectname"));
m_abbreviationControl.SetValue(xml.getAttribute("abbreviatedname"));
m_globalSubjectControl.SetChecked(xml.getAttribute("fk_schoolowner").length == 0);
m_globalSubjectControl.SetEnabled(false);
m_subjectOptionalControl.SetChecked((xml.getAttribute("subjectoptional").toLowerCase() == "true"));
}
function m_popupControl_OnCancel()
{
/* Add / Update cancelled */
}
function m_popupControl_OnConfirm()
{
if (m_subjectNameControl.GetValue().length == 0) {
alert("Subject Name cannot be blank");
return true;
}
if (m_abbreviationControl.GetValue().length == 0) {
alert("Abbreviation cannot be blank");
return true;
}
if (!m_editMode) {
m_add();
} else {
m_update();
}
return false;
}
function m_add()
{
var params = "";
/* A school only subject */
if ((m_allowGlobalSubject == false) || (m_globalSubjectControl.GetChecked() == false)) {
params += "SubjectName=" + escape(m_subjectNameControl.GetValue());
params += "&AbbreviatedName=" + escape(m_abbreviationControl.GetValue());
params += "&SubjectOptional=" + m_subjectOptionalControl.GetChecked();
params += "&IsGlobal=false";
params += "&FK_SchoolOwner=" + m_PKSchool;
/* A global subject */
} else {
params += "SubjectName=" + escape(m_subjectNameControl.GetValue());
params += "&AbbreviatedName=" + escape(m_abbreviationControl.GetValue());
params += "&SubjectOptional=" + m_subjectOptionalControl.GetChecked();
params += "&IsGlobal=true";
params += "&FK_SchoolOwner=-1";
}
m_cboAdd.DoCallBackManual("subjects_ex", "add", params);
}
function m_cboAdd_Complete(responseText, responseXML)
{
if (self.OnCommit) {
self.OnCommit();
}
}
function m_update()
{
var params = "";
params += "PK_Subject=" + m_PKSubject;
params += "&SubjectName=" + escape(m_subjectNameControl.GetValue());
params += "&AbbreviatedName=" + escape(m_abbreviationControl.GetValue());
params += "&SubjectOptional=" + m_subjectOptionalControl.GetChecked();
m_cboUpdate.DoCallBackManual("subjects", "update", params);
}
function m_cboUpdate_Complete(responseText, responseXML)
{
if (self.OnCommit) {
self.OnCommit();
}
}
function m_cboGeneric_Error(status, statusText, responseText)
{
ShowDebugWindow(responseText);
}
}
function SubjectsControl(pContainer, pPKSchoolInitial, pbAllowChangeSchool, pbAllowModifyGlobalSubjects)
{
var self = this;
var m_container = pContainer;
var m_allowChangeSchool = pbAllowChangeSchool; /* allow the end user to change the school */
var m_PKSchoolInitial = pPKSchoolInitial;
var m_allowGlobalSubject = pbAllowModifyGlobalSubjects;
var m_PKSchool = null;
var m_schoolsList = null;
var m_subjectsListView = null;
var m_addButtonControl = null;
var m_addControl = null;
var m_editControl = null;
var m_configureLockControl = null;
var m_lockContainer = null;
var m_cboDelete = new CallBackObject();
m_cboDelete.OnComplete = m_cboDelete_Complete;
m_cboDelete.OnError = m_cboGeneric_Error;
this.Refresh = m_refresh;
m_initialise();
function m_initialise()
{
m_schoolsList = new DropdownControl(m_container, "schools", "PK_School", "SchoolName", false, false, false, true, 400);
m_lockContainer = document.createElement("DIV");
m_container.appendChild(m_lockContainer);
m_schoolsList.OnChange = m_schoolsList_OnChange;
m_schoolsList.OnRefreshComplete = m_schoolsList_OnRefreshComplete;
m_subjectsListView = new ListViewControl(m_container, "subjectsbyschool", "PK_Subject", "SubjectName|AbbreviatedName|SubjectOptional|Type|Edit|Delete", "Subject Name|Abbr. Name|_Optional|_Type|_Edit|_Delete", "400|100|100|100|100|100", 900, 200);
m_subjectsListView.OnCellRender = m_subjectsListView_OnCellRender;
m_subjectsListView.OnCellClick = m_subjectsListView_OnCellClick;
m_addButtonControl = new ButtonControl(m_container, "Add Subject");
m_addButtonControl.OnClick = m_addButtonControl_OnClick;
}
function m_subjectsListView_OnCellRender(pPKObject, pColumnIdentifier, pValue, pCellTD)
{
var editImageControl;
var deleteImageControl;
if (pColumnIdentifier == "edit") {
editImageControl = document.createElement("IMG");
editImageControl.height = "16";
editImageControl.width = "16";
if ((m_allowGlobalSubject == false) && (pValue.length == 0))
{
editImageControl.src = "images/edit-disabled.png";
editImageControl.title = "Cannot edit global subject";
} else {
editImageControl.src = "images/edit.png";
editImageControl.title = "Edit subject";
}
pCellTD.appendChild(editImageControl);
pCellTD.align = "center";
return true;
}
else if (pColumnIdentifier == "delete") {
deleteImageControl = document.createElement("IMG");
deleteImageControl.height = "16";
deleteImageControl.width = "16";
if ((m_allowGlobalSubject == false) && (pValue.length == 0))
{
deleteImageControl.src = "images/delete-disabled.png"
deleteImageControl.title = "Cannot delete global subject";
} else {
deleteImageControl.src = "images/delete.png"
deleteImageControl.title = "Delete subject";
}
pCellTD.appendChild(deleteImageControl);
pCellTD.align = "center";
return true;
}
return false;
}
function m_subjectsListView_OnCellClick(pPKObject, pColumnIdentifier, pValue)
{
if (pColumnIdentifier == "edit") {
if ((m_allowGlobalSubject == false) && (pValue.length == 0)) {
alert("You do not have the privileges to edit a global subject.");
return;
}
m_editControl = new SubjectModifyControl(m_container, true, m_allowGlobalSubject, m_PKSchool, pPKObject);
m_editControl.OnCommit = m_editControl_OnCommit;
} else if (pColumnIdentifier == "delete") {
if ((m_allowGlobalSubject == false) && (pValue.length == 0)) {
alert("You do not have the privileges to delete a global subject.");
return;
}
m_delete(pPKObject);
}
}
function m_delete(pPK_Subject)
{
m_cboDelete.DoCallBackManual("subjects", "delete", "PK_Subject=" + pPK_Subject);
}
function m_cboDelete_Complete(responseText, responseXML)
{
var reportCount;
if (responseText.length) {
reportCount = responseXML.lastChild.firstChild.getAttribute('reportcount');
alert("Could not delete subject because " + reportCount + " report(s) depend on it.");
}
m_load();
}
function m_schoolsList_OnChange(pPKSchool)
{
m_PKSchool = pPKSchool;
m_load();
}
function m_schoolsList_OnRefreshComplete()
{
m_schoolsList.SetValue(m_PKSchoolInitial);
if(m_allowChangeSchool == false ) {
m_schoolsList.SetEnabled(false);
}
}
function m_load()
{
m_subjectsListView.Hide();
m_addButtonControl.Hide();
m_lockContainer.innerHTML = "";
m_configureLockControl = new ConfigureLockControl(m_lockContainer, m_PKSchool);
m_configureLockControl.OnComplete = m_configureLockControl_OnComplete;
}
function m_configureLockControl_OnComplete(pbLocked)
{
if (!pbLocked) {
m_subjectsListView.Show();
m_addButtonControl.Show();
m_subjectsListView.RefreshList('PK_School=' + m_PKSchool);
}
}
function m_addButtonControl_OnClick()
{
m_addControl = new SubjectModifyControl(m_container, false, m_allowGlobalSubject, m_PKSchool);
m_addControl.OnCommit = m_addControl_OnCommit;
}
function m_addControl_OnCommit()
{
m_subjectsListView.RefreshList('PK_School=' + m_PKSchool);
}
function m_editControl_OnCommit()
{
m_subjectsListView.RefreshList('PK_School=' + m_PKSchool);
}
function m_cboGeneric_Error(status, statusText, responseText)
{
ShowDebugWindow(responseText);
}
function m_refresh()
{
if (!m_PKSchool) return;
m_load();
}
}
function SubjectsSortControl(pContainer, pPKSchoolInitial, pbAllowChangeSchool)
{
var self = this;
var m_container = pContainer;
var m_allowChangeSchool = pbAllowChangeSchool; /* allow the end user to change the school */
var m_PKSchoolInitial = pPKSchoolInitial;
var m_PKSchool = null;
var m_newDataOrder = null;
var m_sortOrderCounter = 0;
var m_schoolsList = null;
var m_sortOrderControl = null;
var m_sortOrderContainer = null;
var m_saveButtonControl = null;
var m_configureLockControl = null;
var m_lockContainer = null;
var m_contentContainer = null;
this.Refresh = m_refresh;
var m_cboList = new CallBackObject();
m_cboList.OnComplete = m_cboList_Complete;
m_cboList.OnError = m_cboGeneric_Error;
var m_cboUpdate = new CallBackObject();
m_cboUpdate.OnComplete = m_cboUpdate_Complete;
m_cboUpdate.OnError = m_cboGeneric_Error;
m_initialise();
function m_initialise()
{
var oText;
m_schoolsList = new DropdownControl(m_container, "schools", "PK_School", "SchoolName", false, false, false, true, 400);
m_schoolsList.OnChange = m_schoolsList_OnChange;
m_schoolsList.OnRefreshComplete = m_schoolsList_OnRefreshComplete;
m_lockContainer = document.createElement("DIV");
m_container.appendChild(m_lockContainer);
m_contentContainer = document.createElement("DIV");
m_container.appendChild(m_contentContainer);
oText = document.createElement("DIV");
oText.className = "SubjectsSortControlHelpText";
oText.innerHTML = "Click on the subject you wish to relocate in the list below.
Use the Up/Down buttons to relocate the subject.
Click Save Changes when you are done.";
m_contentContainer.appendChild(oText);
m_sortOrderContainer = document.createElement("DIV");
m_sortOrderContainer.className = "SubjectSortOrderListContainer";
m_contentContainer.appendChild(m_sortOrderContainer);
m_saveButtonControl = new ButtonControl(m_contentContainer, "Save Changes");
m_saveButtonControl.OnClick = m_saveButtonControl_OnClick;
}
function m_schoolsList_OnChange(pPKSchool)
{
m_PKSchool = pPKSchool;
m_loadList();
}
function m_refresh()
{
if (!m_PKSchool) return;
m_loadList();
}
function m_schoolsList_OnRefreshComplete()
{
m_PKSchool = m_PKSchoolInitial
m_schoolsList.SetValue(m_PKSchoolInitial);
if(m_allowChangeSchool == false ) {
m_schoolsList.SetEnabled(false);
}
}
function m_loadList()
{
m_contentContainer.style.display = "none";
m_lockContainer.innerHTML = "";
m_configureLockControl = new ConfigureLockControl(m_lockContainer, m_PKSchool);
m_configureLockControl.OnComplete = m_configureLockControl_OnComplete;
}
function m_configureLockControl_OnComplete(pbLocked)
{
if (!pbLocked) {
m_contentContainer.style.display = "block";
m_cboList.DoCallBackManual("schoolsubjects_sort", "list", "PK_School=" + m_PKSchool);
}
}
function m_cboList_Complete(responseText, responseXML)
{
var xml = responseXML.lastChild.firstChild;
var a = new Array();
var o = null;
while(xml != null) {
o = new Object();
o.ItemName = xml.getAttribute("subjectname");
o.PKItem = xml.getAttribute("pk_schoolsubject");
a.push(o);
xml = xml.nextSibling;
}
m_sortOrderContainer.innerHTML = "";
m_sortOrderControl = new SortOrderControl(m_sortOrderContainer, a);
}
function m_cboGeneric_Error(status, statusText, responseText)
{
ShowDebugWindow(responseText);
}
function m_saveButtonControl_OnClick()
{
m_newDataOrder = m_sortOrderControl.GetData();
m_sortOrderCounter = 0;
m_update();
}
function m_update()
{
var o;
var params;
if (m_newDataOrder == null) {
alert("Error saving changes to sort order");
return;
}
if (m_sortOrderCounter >= m_newDataOrder.length) {
alert("Changes to sort order saved");
m_sortOrderCounter = 0
m_newDataOrder = null;
return;
}
o = m_newDataOrder[m_sortOrderCounter];
params = "PK_SchoolSubject=" + o.PKItem + "&SortOrder=" + m_sortOrderCounter;
m_cboUpdate.DoCallBackManual("schoolsubjects_sort", "set", params);
m_sortOrderCounter++;
}
function m_cboUpdate_Complete(responseText, responseXML)
{
m_update();
}
}
function SubjectStageCommentsControl(pContainer)
{
var self = this;
var m_container = pContainer;
var m_PKSubject = null;
var m_PKStage = null;
var m_subjectList = null;
var m_stageList = null;
var m_textControl = null;
var m_cboGet = new CallBackObject();
var m_cboSet = new CallBackObject();
m_cboGet.OnComplete = m_cboGet_Complete;
m_cboGet.OnError = m_cboGeneric_Error;
m_cboSet.OnComplete = m_cboSet_Complete;
m_cboSet.OnError = m_cboGeneric_Error;
m_intialise();
function m_intialise()
{
m_subjectList = new DropdownControl(m_container, "subjects", "PK_Subject", "SubjectName", false, false, false, true);
m_stageList = new DropdownControl(m_container, "stages", "PK_Stage", "StageName", false, false, false, true);
m_container.appendChild(document.createElement("HR"));
m_textControl = document.createElement("TEXTAREA");
m_textControl.rows = "20";
m_textControl.cols = "80";
m_textControl.onblur = m_saveComment;
m_container.appendChild(m_textControl);
}
m_subjectList.OnChange = function(pPKSubject)
{
m_PKSubject = pPKSubject;
m_loadComment();
}
m_stageList.OnChange = function(pPKStage)
{
m_PKStage = pPKStage;
m_loadComment();
}
function m_loadComment()
{
if ((!m_PKStage) || (!m_PKSubject)) return;
m_cboGet.DoCallBackManual("subjectstagecommentnostudentname", "get", "PK_Subject=" + m_PKSubject + "&PK_Stage=" + m_PKStage);
}
function m_cboGet_Complete(responseText, responseXML)
{
var comment = responseXML.documentElement.firstChild.getAttribute("subjectstagecomment")
m_textControl.value = comment;
}
function m_saveComment()
{
if ((!m_PKStage) || (!m_PKSubject)) return;
m_cboSet.DoCallBackManual("subjectstagecomment", "set", "PK_Subject=" + m_PKSubject + "&PK_Stage=" + m_PKStage + "&Value=" + escape(m_textControl.value));
}
function m_cboSet_Complete(responseText, responseXML)
{
}
function m_cboGeneric_Error(status, statusText, responseText)
{
ShowDebugWindow(responseText);
}
}
function SystemicOverallAchievementCountControl(pContainer)
{
var self = this;
var m_container = pContainer;
var m_listView = null;
m_initialise();
function m_initialise()
{
m_listView = new ListViewControl(m_container, "systemicoverallachievementcount", "PK_SchoolGradeSubject", "SchoolName|GradeName|SubjectName|SystemicOverallAchievementCount", "School|_Grade|Subject|_ ", "250|80|350|40", 720, 340);
m_listView.OnCellRender = m_listView_OnCellRender;
m_listView.RefreshList();
}
function m_listView_OnCellRender(pPK_SchoolGradeSubject, pColumnIdentifier, pValue, pCellTD)
{
if (pColumnIdentifier == 'systemicoverallachievementcount') {
new BooleanToggleControl(pCellTD, "systemicoverallachievementcount", "set", "PK_SchoolGradeSubject", pPK_SchoolGradeSubject, pValue);
return true;
}
return false;
}
}
function TextAreaControl(pContainer, pObjectIdentifier, pActionIdentifier, pObjectPKName, pObjectPKValue, pValue, pWidth, pHeight,pTitle, pbEnableSpellChecker, pbEnableAutoSave, pMaxLength, p_asave_commits)
{
var self = this;
var m_container = pContainer;
var m_objectIdentifier = pObjectIdentifier;
var m_actionIdentifier = pActionIdentifier;
var m_objectPKName = pObjectPKName;
var m_objectPKValue = pObjectPKValue;
var m_value = pValue;
var m_width = pWidth;
var m_height = pHeight;
var m_title = pTitle;
var m_enableSpellChecker = pbEnableSpellChecker;
var m_enableAutoSave = pbEnableAutoSave;
////////DEFAULTS ////////////////////
m_enableAutoSave = false; //////////////////////////////added autosave set to true despite function init params
m_asave_commits = false; //////////////////////////////added to default to FALSE = asave doesnt count as a commit . when inited from reportcommentcontrol - true is passed - should only be used in a switch to send or not to the callbackhandler ...
if (p_asave_commits = true){
m_asave_commits = true;
}else{
m_asave_commits = false;
}
var last_length = 0;
var m_maxLength = pMaxLength;
var m_timerHandle = null;
var m_hideAutosave = true; /* 20061011: broken bay want autosave, but they want it hidden */
var AUTOSAVE_TIMEOUT = 30;//300
var m_autoSaveCounter = AUTOSAVE_TIMEOUT;
var m_textControlID = null;
var m_titleControl = null;
var m_textControl = null;
var m_spellCheckerControl = null;
var m_autoSaveControl = null;
var timerImageControl = null;
var spellingImageControl = null;
var maxLengthImageControl = null;
var m_maxLengthControl = null;
var m_cboSave = new CallBackObject();
m_cboSave.OnComplete = m_cboSave_Complete;
m_cboSave.OnError = m_cboGeneric_Error;
this.OnTextSaved = null; // function OnTextSaved(pValue)
this.SetEnabled = m_setEnabled;
this.SetFocus = m_setFocus;
this.AppendLine = m_appendLine;
this.SaveChanges = m_saveChanges;
this.Finalise = m_finalise;
m_initialise();
function m_initialise(){
var table, tbody, tr, td;
var colCount = 1;
table = document.createElement("TABLE");
table.border = "0";
m_container.appendChild(table);
tbody = document.createElement("TBODY");
table.appendChild(tbody);
tr = document.createElement("TR");
tbody.appendChild(tr);
if (m_title)
{
td = document.createElement("TD");
td.className = "TextAreaControlLabel";
td.innerHTML = m_title + ": ";
tr.appendChild(td);
colCount++;
}
m_textControlID = "TAC" + pObjectIdentifier + pActionIdentifier + pObjectPKName + pObjectPKValue;
if (m_enableSpellChecker == true)
{
td = document.createElement("TD");
td.width = 150;
tr.appendChild(td);
spellingImageControl = document.createElement("IMG");
spellingImageControl.height = "16";
spellingImageControl.width = "16";
spellingImageControl.src = "images/spelling.png";
spellingImageControl.title = "Check Spelling";
td.appendChild(spellingImageControl);
m_spellCheckerControl = new SpellCheckerControl(td, m_textControlID);
m_spellCheckerControl.OnSpellCheckDone = m_spellCheckerControl_OnSpellCheckDone;
colCount++;
}
if (m_enableAutoSave == true) {
td = document.createElement("TD")
td.className = "TextAreaControlAutoSave";
if (m_hideAutosave == true) {
td.style.display = "none";
}
td.width = 100;
tr.appendChild(td);
timerImageControl = document.createElement("IMG");
timerImageControl.height = "16";
timerImageControl.width = "16";
timerImageControl.src = "images/timer.png";
timerImageControl.title = "Autosave";
td.appendChild(timerImageControl);
m_autoSaveControl = document.createElement("SPAN")
td.appendChild(m_autoSaveControl);
m_timerHandle = setInterval(m_autoSave, 1000);
colCount++;
}
if (m_maxLength) {
td = document.createElement("TD")
td.className = "TextAreaControlMaxLength";
td.width = 150;
tr.appendChild(td);
maxLengthImageControl = document.createElement("IMG");
maxLengthImageControl.height = "16";
maxLengthImageControl.width = "16";
maxLengthImageControl.src = "images/characters.png";
maxLengthImageControl.title = "Characters Remaining";
td.appendChild(maxLengthImageControl);
m_maxLengthControl = document.createElement("SPAN");
td.appendChild(m_maxLengthControl);
colCount++;
}
tr = document.createElement("TR");
tbody.appendChild(tr);
td = document.createElement("TD")
td.colSpan = colCount;
tr.appendChild(td);
if (!m_width) m_width = 400;
if (!m_height) m_height = 100;
m_textControl = document.createElement("TEXTAREA");
m_textControl.id = m_textControlID;
m_textControl.style.width = m_width + "px";
m_textControl.style.height = m_height + "px";
m_textControl.className = "TextAreaControlTextAreaControl";
m_textControl.value = m_value;
m_textControl.onblur = m_save;
if (m_maxLength) {
m_textControl.onkeyup = m_textControl_OnKeyUp;
}
td.appendChild(m_textControl);
if (m_maxLength) {
m_updateMaxLength();
}
/////////////////////////////////////////////// ADD SAVE BUTTON/////////////
////////////////////////////////////////////////////////////////////////////
function savecommentbutton(){
m_cboSave.DoCallBackManual(m_objectIdentifier, m_actionIdentifier, m_objectPKName + "=" + m_objectPKValue + "&Value=" + escape(m_textControl.value),false,false);
}
var isIE/*@cc_on=1@*/;
if(isIE){
//var input1 = document.createElement("");
m_commentsave = document.createElement("");
} else {
//var input1 = document.createElement("input");
m_commentsave = document.createElement("input");
m_commentsave.id ='savethecomment';
m_commentsave.value = 'Save Comment';
m_commentsave.type = 'button';
m_commentsave.onclick = savecommentbutton();
}
td.appendChild(m_commentsave);
}////////////////////////////////////////////////////////////////////////////
function m_textControl_OnKeyUp()
{
m_checkLength();
//document.getElementById('savethecomment').disabled = false;
//document.getElementsByName('savethecomment').disabled = false;
//
}
function m_checkLength()
{
if (m_textControl.value.length > m_maxLength) {
m_textControl.value = m_textControl.value.substring(0, m_maxLength);
m_maxLengthControl.innerHTML = "Too Long!";
return;
}
m_updateMaxLength();
}
function m_updateMaxLength()
{
m_maxLengthControl.innerHTML = m_maxLength - m_textControl.value.length;
}
function m_autoSave()
{
if (m_autoSaveCounter <= 0) {
m_autoSaveControl.innerHTML = "Autosaving";
m_autoSaveCounter = AUTOSAVE_TIMEOUT;
m_save(true);
return;
}
if ((m_autoSaveCounter % 60) == 0)
{
m_autoSaveControl.innerHTML = (m_autoSaveCounter/60) + "min";
}
m_autoSaveCounter --;
}
function m_spellCheckerControl_OnSpellCheckDone()
{
m_save();
}
function m_saveChanges()
{
m_save();
}
function m_save(pAutoSave)
{
if (!m_textControl) {
return;
}
if (m_textControl.value.length == 0)
{
if (pAutoSave) {
/* don't commit blank comments on autosave*/
return;
}
}
//////ORIG LINE//////
m_cboSave.DoCallBackManual(m_objectIdentifier, m_actionIdentifier, m_objectPKName + "=" + m_objectPKValue + "&Value=" + escape(m_textControl.value),true,true);
////////////////////////////////////////////////////////////////////// AUTOSAVE HANDLER ADDED////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//m_cboSave.DoCallBackManual(m_objectIdentifier, m_actionIdentifier, m_objectPKName + "=" + m_objectPKValue + "&Value=" + escape(m_textControl.value),true); ///////last bool param for is-autosave switch
/*
if (m_asave_commits = true){
m_cboSave.DoCallBackManual(m_objectIdentifier, m_actionIdentifier, m_objectPKName + "=" + m_objectPKValue + "&Value=" + escape(m_textControl.value),true,true);
}else{
m_cboSave.DoCallBackManual(m_objectIdentifier, m_actionIdentifier, m_objectPKName + "=" + m_objectPKValue + "&Value=" + escape(m_textControl.value),false,false);
}*/
//it has been wrapped in a swtich on m_asave_commits. if TRUE - autosave counts for activity and resets idle . FALSE - dont count for activ
// m_asave_commits flows from ReportCommentControl and should only exist from this class - ie: will on effect textareas from this class.
// effect is that ReportCommentControl set m_asave_commits=TRUE = still do an autosave but only for reports , and dont pass the last param here to callback.
//within callback false is recieved = tricked to not count as an autosave so it should reset idle. if this is true idle isnt reset .. ?
this.disabled = true;
}
function m_cboSave_Complete(responseText, responseXML)
{
m_textControl.disabled = false;
if (self.OnTextSaved) {
self.OnTextSaved(m_textControl.value);
}
}
function m_cboGeneric_Error(status, statusText, responseText)
{
m_textControl.disabled = false;
ShowDebugWindow(responseText);
}
function m_setEnabled(pEnabled)
{
m_textControl.disabled = !pEnabled;
}
function m_setFocus()
{
//m_textControl.focus();
m_textControl.select();
}
function m_appendLine(pText)
{
m_textControl.value += "\n" + pText;
m_checkLength();
}
function m_finalise()
{
if (m_timerHandle) clearInterval(m_timerHandle);
m_timerHandle = null;
m_objectPKValue = -1;
if (m_textControl)
{
m_textControl.onblur = null;
m_textControl.onkeyup = null;
}
m_textControl = null;
}
}
function TextControl(pContainer, pObjectIdentifier, pActionIdentifier, pObjectPKName, pObjectPKValue, pValue, pWidth, pMaxLength, pTitle)
{
var self = this;
var m_container = pContainer;
var m_objectIdentifier = pObjectIdentifier;
var m_actionIdentifier = pActionIdentifier;
var m_objectPKName = pObjectPKName;
var m_objectPKValue = pObjectPKValue;
var m_value = pValue;
var m_width = pWidth;
var m_maxLength = pMaxLength;
var m_title = pTitle;
var m_titleControl = null;
var m_textControl = null;
var m_cboSave = new CallBackObject();
m_cboSave.OnComplete = m_cboSave_Complete;
m_cboSave.OnError = m_cboGeneric_Error;
this.OnTextSaved = null; // function OnTextSaved(pValue)
this.SetEnabled = m_setEnabled;
this.SetFocus = m_setFocus;
m_initialise();
function m_initialise(){
if (m_title)
{
m_titleControl = document.createElement("DIV");
m_titleControl.className = "TextControlLabel";
m_titleControl.innerHTML = m_title + ": ";
m_container.appendChild(m_titleControl);
}
if (!m_maxLength)
{
m_maxLength = 255;
}
m_textControl = document.createElement("INPUT");
m_textControl.type = "text";
m_textControl.value = m_value;
m_textControl.onblur = m_save;
m_textControl.className = "TextControlTextControl";
m_textControl.maxLength = m_maxLength;
if (m_width) m_textControl.style.width = m_width + "px";
m_container.appendChild(m_textControl);
}
function m_save()
{
m_cboSave.DoCallBackManual(m_objectIdentifier, m_actionIdentifier, m_objectPKName + "=" + m_objectPKValue + "&Value=" + escape(this.value));
this.disabled = true;
}
function m_cboSave_Complete(responseText, responseXML)
{
m_textControl.disabled = false;
if (self.OnTextSaved) {
self.OnTextSaved(m_textControl.value);
}
}
function m_cboGeneric_Error(status, statusText, responseText)
{
m_textControl.disabled = false;
ShowDebugWindow(responseText);
}
function m_setEnabled(pEnabled)
{
m_textControl.disabled = !pEnabled;
}
function m_setFocus()
{
//m_textControl.focus();
m_textControl.select();
}
}
function UploadControl(pContainer, pFileIdentifier, pPK, pUploadFrameId)
{
var self = this;
var m_container = pContainer;
var m_fileIdentifier = pFileIdentifier;
var m_PK = pPK;
var m_formControl = null;
var m_fileIdentifierControl = null;
var m_pkControl = null;
var m_uploadInputControl = null;
var m_uploadButtonControl = null;
var m_uploadIFrame = null;
var m_uploadFrameId = (pUploadFrameId ? pUploadFrameId : "uploadControlFrame");
this.Finalise = m_finalise;
m_initialise();
function m_initialise()
{
if (document.all) {
m_uploadIFrame = document.createElement("