with (classes) {
//
with (OCP) {
//
OCP.Desktop = function ()
{
 with (GUI.Common.Alignable) call(this, AlignClient);

 with (Desktop)
 {
  this[OCP.Book.Events.closed] = bookClosed;

  this.setBook = setBook;
  this.setPage = setPage;

  this.The_Book =
  this.The_HTMLIFrameElement = null;

  with (this)
  {
   The_HTMLIFrameElement = getElementsByTagName("iframe").item(0);

   // Alignable.call(The_HTMLIFrameElement, Alignable.AlignClient);

   removeChild(The_HTMLIFrameElement);
  }
 }

 return this;
}
//
Desktop.page_path = "documents/Pages/";
//
Desktop.construct = function (This_HTMLDivElement) { return Desktop.call(This_HTMLDivElement); }
//
Desktop.bookClosed = function (Closed_Book) { with (Desktop) with (this)
{
 if (Closed_Book == The_Book)
 {
  The_Book.removeObserver(this); removeChild(The_Book); The_Book = null;

  style.overflow = "";

  appendChild(The_HTMLIFrameElement);
 }
}}
//
Desktop.setBook = function (This_Book) { with (Desktop) with (this)
{
 if (The_HTMLIFrameElement.parentNode == this) removeChild(The_HTMLIFrameElement);

 style.overflow = "auto";

 if (This_Book != The_Book) (The_Book = This_Book).addObserver(this);

 appendChild(This_Book);

 // This_Book.position();
}}
//
Desktop.setPage = function (page_name) { with (Desktop) with (this)
{
 // with (The_HTMLIFrameElement) src = document_path + document_name; // + ".html";

 if (The_Book && The_Book.parentNode == this) removeChild(The_Book);

 if (The_HTMLIFrameElement.parentNode != this) appendChild(The_HTMLIFrameElement);

 // The_HTMLIFrameElement.position();

 The_HTMLIFrameElement.src = page_path + page_name; // + ".html";
}}
//
}
//
}
