﻿/* ==============================================
    Модуль для работы с левой панелью управления 
        ()
   ============================================== */

// Хэш кнопок левой панели управления (включен/не включен)
var LinkPanelButtonsHash = [];
LinkPanelButtonsHash["ServerQueryViewerLinkButtonDiv"] = false;

// При наведении курсора на кнопку панели управления
function LinkPanelActionImageButtonDiv_Over(linkPanelActionButtonDivID){
    $get(linkPanelActionButtonDivID).className = "link_panel__image_button_over";
}
// При снятии курсора с кнопки панели управления
function LinkPanelActionImageButtonDiv_Out(linkPanelActionButtonDivID){
    if (LinkPanelButtonsHash[linkPanelActionButtonDivID])
        $get(linkPanelActionButtonDivID).className = "link_panel__image_button_on";
    else
        $get(linkPanelActionButtonDivID).className = "link_panel__image_button";
}


// ***************************************************************** Вьюер запросов *****************************************************************

function ServerQueryViewerLinkButtonDiv_OnClick(){
    if (LinkPanelButtonsHash['ServerQueryViewerLinkButtonDiv']){                    // выключить
        $get('ServerQueryViewerLinkButtonDiv').className = "link_panel__image_button";
        LinkPanelButtonsHash["ServerQueryViewerLinkButtonDiv"] = false;
        networkQueryViewerWindow.hide();   
    }
    else {                                                                          // включить вьюер
        $get('ServerQueryViewerLinkButtonDiv').className = "link_panel__image_button_on";
        LinkPanelButtonsHash["ServerQueryViewerLinkButtonDiv"] = true;
        networkQueryViewerWindow.show();   
    }
}


// ***************************************************************** Учебная панель *****************************************************************

function htmlPre(mess) {
    return "<pre style='padding:0px; margin:0px'>" + mess + "</pre>";
}

function LearnPanel_Hide() {
    $get('DivLearnPanelStatus').style.backgroundColor = "White";
    $get('DivLearnPanelStatus').innerHTML = "";
    $get('CheckboxLearnPanelStatus').style.display = "none";
}
function LearnPanel_Network(message) {
    $get('DivLearnPanelStatus').style.backgroundColor = "#DDDDDD";
    $get('DivLearnPanelStatus').innerHTML = htmlPre(message);
    $get('CheckboxLearnPanelStatus').style.display = "inline";
    $get('CheckboxLearnPanelStatus').checked = true;
}
function LearnPanel_Success(message) {
    $get('DivLearnPanelStatus').style.backgroundColor = "#22EE66";
    $get('DivLearnPanelStatus').innerHTML = htmlPre(message);
    $get('CheckboxLearnPanelStatus').style.display = "inline";
    $get('CheckboxLearnPanelStatus').checked = true;
}
function LearnPanel_Error(message) {
    $get('DivLearnPanelStatus').style.backgroundColor = "#FF2222";
    $get('DivLearnPanelStatus').innerHTML = htmlPre(message);
    $get('CheckboxLearnPanelStatus').style.display = "inline";
    $get('CheckboxLearnPanelStatus').checked = true;
}

// Нажатие на кнопку учебной панели
function LearningPanelLinkButton_OnClick() {
    Page_Lock();
    learningPanelWindow.show();
    if (isPupil) {
        LearnPanel_Network("Загрузка списка курсов ученика");
        PageMethods.GetPupilCoursesInfo(userName, GetPupilCoursesInfo_Callbck);
    }
    else if (isTeacher) {
        $get('DivPupilPartLearningPanel').style.display = "none";
        PageMethods.GetTeacherCoursesInfo(userName, GetTeacherCoursesInfo_Callbck);
    }
}

// Обратный вызов получения списка курсов ученика
function GetPupilCoursesInfo_Callbck(response) {
    if (response == null){                     
        LearnPanel_Error("Не удалась загрузка списка курсов");
        return;
    }
    LearnPanel_Hide();
    var pupilCourses = response;
    if (pupilCourses.length != 0) {
        $get('LabelNoPupilCourses').style.display = "none";
        coursesTable_DrawTable('TablePupilsCourses', pupilCourses);
    }
    if (isTeacher) {
        LearnPanel_Network("Загрузка списка курсов преподавателя");
        PageMethods.GetTeacherCoursesInfo(userName, GetTeacherCoursesInfo_Callbck);
    }
    else {
        $get('DivTeacherPartLearningPanel').style.display = "none";
    }
}

// Обратный вызов получения списка курсов преподавателя
function GetTeacherCoursesInfo_Callbck(response) {
    if (response == null){                     
        LearnPanel_Error("Не удалась загрузка списка курсов");
        return;
    }
    LearnPanel_Success("Список курсов загружен");
    var teacherCourses = response;
    if (teacherCourses.length != 0) {
        $get('LabelNoTeacherCourses').style.display = "none";
        coursesTable_DrawTable('TableTeachersCourses', teacherCourses);
    }
}


// Рисует таблицу с курсами
function coursesTable_DrawTable(tableID, coursesList) {
    var coursesTable = $get(tableID);
    coursesTable.appendChild(coursesTable_GetCaptionTR());
    var i = 0;
    for (i = 0; i < coursesList.length; ++i) {
        coursesTable.appendChild(coursesTable_CreateTR(coursesList[i]));
    }
}

// Возвращает строку таблицы с заголовком
function coursesTable_GetCaptionTR() {
    var trHead = document.createElement("tr");
        trHead.style.fontSize = "12px";
        trHead.style.fontWeight = "bold";
        trHead.style.backgroundColor = "#EEEEEE";
    var tdId = document.createElement("td");
        tdId.innerHTML = "ID курса";
    var tdName = document.createElement("td");
        tdName.innerHTML = "Название";
    var tdEdu = document.createElement("td");
        tdEdu.innerHTML = "Образовательное учереждение";
    var tdTeach = document.createElement("td");
        tdTeach.innerHTML = "Преподаватели";
    trHead.appendChild(tdId); 
    trHead.appendChild(tdName); 
    trHead.appendChild(tdEdu); 
    trHead.appendChild(tdTeach); 
    if (isTeacher) {
        var tdPupil = document.createElement("td");
            tdPupil.innerHTML = "Ученики";
        trHead.appendChild(tdPupil); 
    }
    return trHead;
}

function coursesTable_CreateTR(courseInfo) {     
    var tr = document.createElement("tr");
    var tdId = document.createElement("td");
        tdId.innerHTML = courseInfo.ID.toString();
    var tdName = document.createElement("td");
        tdName.style.fontStyle = "italic";
        tdName.innerHTML = courseInfo.Name;
    var tdEdu = document.createElement("td");
        tdEdu.innerHTML = courseInfo.EduFacility;
    var tdTeach = document.createElement("td");
        tdTeach.innerHTML = "";
        if (courseInfo.Teachers.length > 0) {
            tdTeach.innerHTML = courseInfo.Teachers[0];
            var i;
            for (i = 1; i < courseInfo.Teachers.length; ++i)
                tdTeach.innerHTML += "\n" + courseInfo.Teachers[i];
            tdTeach.innerHTML = htmlPre(tdTeach.innerHTML);
        }
    tr.appendChild(tdId); 
    tr.appendChild(tdName); 
    tr.appendChild(tdEdu);
    tr.appendChild(tdTeach);
    if (isTeacher) {
        var tdPupil = document.createElement("td");
        tdPupil.innerHTML = "";
        if (courseInfo.Pupils.length > 0) {
            tdPupil.innerHTML = courseInfo.Pupils[0];
            var i;
            for (i = 1; i < courseInfo.Pupils.length; ++i)
                tdPupil.innerHTML += "\n" + courseInfo.Pupils[i];
            tdPupil.innerHTML = htmlPre(tdPupil.innerHTML);
        }
        tr.appendChild(tdPupil);
    }
    return tr; 
}

















/*
// Примеры включены
var sampleImageButtonOn = true;

// Нажатие кнопки примеров
function SampleImageButtonClick() {
    if (sampleImageButtonOn) {
        $get("SampleImageButton").className = "link_panel__sample_image_button";
        $get("SampleImageButton").title = "Включить примеры";
        $get("SampleDiv").style.display = "none";
        sampleImageButtonOn = false;
    }
    else {
        $get("SampleImageButton").className = "link_panel__sample_image_button_on";
        $get("SampleImageButton").title = "Отключить примеры";
        $get("SampleDiv").style.display = "block";
        sampleImageButtonOn = true;
    }
}

// Навод курсора на кнопку примеров
function SampleImageButtonOver() {
    $get("SampleImageButton").className = "link_panel__sample_image_button_over";
}

// Навод курсора на кнопку примеров
function SampleImageButtonOut() {
    if (sampleImageButtonOn)
        $get("SampleImageButton").className = "link_panel__sample_image_button_on";
    else
        $get("SampleImageButton").className = "link_panel__sample_image_button";
}
*/
