Выбрать главу

function ListPersons_NewRecord() {

 var Root,NewElem;

 //Сохраняем в переменной Root ссылку на корневой элемент

 //документа

 Root=XML.documentElement;

 //Создаем новый элемент Person

 NewElem=XML.createElement("Person");

 //Добавляем новый элемент в XML-файл

 Root.appendChild(NewElem);

 //Сохраняем XML-файл на диске

 XML.save(PathBook);

 //Обновлем в форме данные для последней добавленной записи

 this.RefreshDialog(false);

}

//Удаление текущей записи

function ListPersons_DelRecord() {

 var Root,DelNom;

 //Сохраняем в переменной Root ссылку на корневой элемент

 //документа

 Root=XML.documentElement;

 //В переменной DelNom сохраняем номер удаляемого элемента Person

 DelNom=this.CurRecord+1;

 //Удаляем DelNom-й элемент Person из XML-файла

 Root.removeChild(Root.childNodes.item(DelNom))

 //Сохраняем XML-файл на диске

 XML.save(PathBook);

 //Выводим сообщение о том, что запись удалена

 WshShell.Popup("Запись N "+DelNom+" удалена",0,"Информация",

  vbInformation+vbOkOnly);

 //Обновлем в форме данные для первой записи

 this.RefreshDialog(true);

}

//             Обработчики событий Internet Explorer'a

//Функция-обработчик окончания загрузки документа в Internet Explorer

function ie_DocumentComplete() {

 //Создаем экземпляр objListPersons объекта ListPersons

 objListPersons = new ListPersons();

 //Загружаем данные из XML-файла в массив PersonArr

 objListPersons.FileToArray();

 //Получаем ссылку на объект Document

 doc = ie.Document;

 //Устанавливаем заголовок окна

 doc.title = "Редактирование данных";

 //Указываем функции-обработчики нажатий на кнопки формы

 doc.all.btnSave.onclick=btnSave_OnClick;

 doc.all.btnCancel.onclick=btnCancel_OnClick;

 doc.all.btnFirst.onclick=btnFirst_OnClick;

 doc.all.btnPrevious.onclick=btnPrevious_OnClick;

 doc.all.btnNew.onclick=btnNew_OnClick;

 doc.all.btnDelete.onclick=btnDelete_OnClick;

 doc.all.btnNext.onclick=btnNext_OnClick;

 doc.all.btnFinal.onclick=btnFinal_OnClick;

 //Указываем функции-обработчики изменения текста в полях ввода

 doc.all.txtLastName.onchange  = txtBoxOnChange;

 doc.all.txtName.onchange  = txtBoxOnChange;

 doc.all.txtPhone.onchange = txtBoxOnChange;

 doc.all.txtStreet.onchange  = txtBoxOnChange;

 doc.all.txtHouse.onchange = txtBoxOnChange;

 doc.all.txtApp.onchange  = txtBoxOnChange;

 doc.all.txtNote.onchange  = txtBoxOnChange;

 if (objListPersons.PersonArr.length < 1)

  //Если в XML-файле нет данных, добавляем пустую запись

  objListPersons.AddRecord();

 //В качестве текущей устанавливаем первую запись

 objListPersons.CurRecord = 0;

 //Загружаем в форму данные из массива PersonArr

 //для первой записи

 objListPersons.LoadDialog();

 // Делаем окно Internet Explorer'а видимым

 ie.Visible = true;

}

//Функция-обработчик закрытия окна Internet Explorer'а

function ie_OnQuit() {

 IsQuit=true;

 //Сохраняем данные из формы в XML-файле

 objListPersons.SaveData();

}

//             Обработчики нажатий на кнопки в форме

//Функция-обработчик нажатия на кнопку "Сохранить"

function btnSave_OnClick() {

 //Сохраняем данные из формы в XML-файле

 objListPersons.SaveData();

}

//Функция-обработчик нажатия на кнопку "Отменить"

function btnCancel_OnClick() {

 //Заново загружаем данные из текущего элемента массива

 //в форму

 objListPersons.LoadDialog();

 //Выводим сообщение в заголовке окна

 doc.title = "Данные восстановлены";

}

//Функция-обработчик нажатия на кнопку "<<"

function btnFirst_OnClick() {

 //Проверяем, были ли сделаны изменения в форме

 if (objListPersons.IsChanged) { //Изменения были сделаны

  //Сохраняем данные в XML-файле

  objListPersons.SaveData();

  //Заново загружаем данные из XML-файла в массив PersonArr

  objListPersons.FileToArray();

 }

 //Переходим к первой записи в массиве

 objListPersons.FirstRecord();

 //Загружаем в форму данные из массива PersonArr

 //для первой записи

 objListPersons.LoadDialog();

 //Выводим сообщение в заголовке окна

 doc.title = "Запись N " + (objListPersons.CurRecord + 1);

}

//Функция-обработчик нажатия на кнопку "<"