<!-- Hide this script from old browsers --
function generateTextPage( LANGUAGE ) {
  //----------------------------------------------------------------------------------------------//
  // Start writing HTML code
  //----------------------------------------------------------------------------------------------//
  //document.open();
  document.open("text/html", "replace");
  document.writeln("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//UTF-8\">");
  document.writeln("<html xmlns=\"http://www.w3.org/1999/xhtml\">");
  document.writeln("  <head>");

  //----------------------------------------------------------------------------------------------//
  // Import XML data of the web page
  //----------------------------------------------------------------------------------------------//
  if ( window.XMLHttpRequest ) {
    //--------------------------------------------------------------------------------------------//
    // Code for IE7+, Firefox, Chrome, Opera, Safari
    //--------------------------------------------------------------------------------------------//
    xmlhttp=new XMLHttpRequest();
  }
  else {
    //--------------------------------------------------------------------------------------------//
    // Code for IE6, IE5
    //--------------------------------------------------------------------------------------------//
    //xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    xmlhttp=new ActiveXObject("MSXML.DOMDocument");
  }
  xmlhttp.open("GET","contents.xml",false);
  xmlhttp.send();
  contentsDoc       = xmlhttp.responseXML; 
  ct                = contentsDoc.getElementsByTagName("PARAGRAPH");
  var numParagraphs = ct.length;
  var currentFolder = ct[0].getElementsByTagName("FOLDER")[0].childNodes[0].nodeValue;
  //----------------------------------------------------------------------------------------------//
  // Import XML data of all model web pages
  //----------------------------------------------------------------------------------------------//
  xmlhttp.open("GET","http://www.dilatonsworld.net/models/modelList.xml",false);
  xmlhttp.send();
  modelDoc       = xmlhttp.responseXML; 
  ml             = modelDoc.getElementsByTagName("MODEL");
  var numFolders = ml.length;
  //----------------------------------------------------------------------------------------------//
  // Identify the index of the current folder
  //----------------------------------------------------------------------------------------------//
  for ( var cFolderIndex=0; cFolderIndex<numFolders; cFolderIndex++ ) {
    if ( ml[cFolderIndex].getElementsByTagName("FOLDER")[0].childNodes[0].nodeValue == currentFolder )
       break;
  }

  if ( cFolderIndex < numFolders ) {
    var currentFolderInModelList = 1
    //--------------------------------------------------------------------------------------------//
    // Read the information of the model/web page
    //--------------------------------------------------------------------------------------------//
    var NAME         = ml[cFolderIndex].getElementsByTagName("NAME")[0].childNodes[0].nodeValue;
    var SCALE        = ml[cFolderIndex].getElementsByTagName("SCALE")[0].childNodes[0].nodeValue;
    var MANUFACTURER = ml[cFolderIndex].getElementsByTagName("MANUFACTURER")[0].childNodes[0].nodeValue;
    var PIC          = ml[cFolderIndex].getElementsByTagName("ICON")[0].childNodes[0].nodeValue.replace('_s.jpg','.jpg');
    var YEAR         = ml[cFolderIndex].getElementsByTagName("YEAR")[0].childNodes[0].nodeValue;
    if ( ml[cFolderIndex].getElementsByTagName('MONTH')[0] != null ) {
      if ( ml[cFolderIndex].getElementsByTagName('MONTH')[0].hasChildNodes() )
        var MONTH = ml[cFolderIndex].getElementsByTagName("MONTH")[0].childNodes[0].nodeValue;
      else
        var MONTH = null;
    }
    else
      var MONTH = null;
  }
  else {
    var currentFolderInModelList = 0
    var NAME         = currentFolder;
    var SCALE        = null;
    var MANUFACTURER = null;
    var PIC          = null;
    var YEAR         = null;
    var MONTH        = null;
  }
  var NUMLANGUAGES = ct[0].getElementsByTagName("NUMLANGUAGES")[0].childNodes[0].nodeValue;
  var KEYWORDS     = ct[0].getElementsByTagName("KEYWORDS")[0].childNodes[0].nodeValue;
  if ( NUMLANGUAGES == 0 )
    LANGUAGE = null;
  else {
    var LANGUAGES = new Array(NUMLANGUAGES);
    for ( var i=0; i<NUMLANGUAGES; i++ ) {
      LANGUAGES[i] = ct[0].getElementsByTagName("LANGUAGE"+(1+i))[0].childNodes[0].nodeValue;
    }
    if ( typeof LANGUAGE === 'undefined' || !LANGUAGE ) {
      LANGUAGE = LANGUAGES[0];
      var urlText = document.location.href;
      for ( var j=1; j<NUMLANGUAGES; j++ ) {
        if ( urlText.search(LANGUAGES[j]) != -1 )
          LANGUAGE = LANGUAGES[j];
      }
    }
  }

  //----------------------------------------------------------------------------------------------//
  // Define the title and header of the web page
  //----------------------------------------------------------------------------------------------//
  var TITLE  = "dilaton's " + NAME;
  var HEADER = NAME;
  if ( SCALE != null )
    HEADER = SCALE + " " + HEADER;
  if ( MANUFACTURER != null )
    HEADER = MANUFACTURER + " " + HEADER;

  //----------------------------------------------------------------------------------------------//
  // Write HTML code
  //----------------------------------------------------------------------------------------------//
  document.writeln("    <title>" + TITLE + "</title>");
  document.writeln("    <meta name=\"description\" content=\"" + TITLE + "\">");
  document.writeln("    <meta name=\"keywords\" content=\"dilaton," + KEYWORDS + "\">");
  document.writeln("    <meta name=\"Generator\" content=\"notepad\">");
  document.writeln("    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">");
  document.writeln("    <meta http-equiv=\"Content-Script-Type\" content=\"text/javascript\">");
  document.writeln("  </head>");
  document.writeln("  <script type=\"text/javascript\" src=\"http://www.dilatonsworld.net/models/generateTextPage.js\"></script>");
  document.writeln("  <script type=\"text/javascript\" src=\"http://www.dilatonsworld.net/models/generatePhotoPage.js\"></script>");
  document.write(  "  <body bgcolor=\"#FFFFFF\" background=\"http://www.dilatonsworld.net/models/background.jpg\" text=\"000000\" ");
  document.writeln("link=\"#0000FF\" alink=\"#000099\" vlink=\"#000099\">");

  //----------------------------------------------------------------------------------------------//
  // Write web page information in HTML code
  //----------------------------------------------------------------------------------------------//
  document.writeln("    <table width=\"100%\" border=\"0\"><tr>");
  document.writeln("      <td align=\"left\">");
  document.writeln("        <h1>" + HEADER + "</h1>");
  document.writeln("      </td>");
  document.writeln("      <td align=\"right\">");
  for ( var i=0; i<NUMLANGUAGES; i++ ) {
    if ( LANGUAGES[i] != LANGUAGE ) {
      document.write(  "        <input type=\"button\" value=\"" + LANGUAGES[i] + "\" onclick=");
//      document.write(  "\"javascript:generateTextPage('" + LANGUAGES[i] + "');\"");
      document.write(  "\"javascript:window.location='index.html?" + LANGUAGES[i] + "';\"");
      document.writeln(" />");
    }
  }
  document.writeln("      </td>");
  document.writeln("    </tr></table>");
  if ( YEAR != null ) {
    if ( LANGUAGE == "Chinese" ) {
      if ( MONTH == "01" )
        document.writeln("    <p>" + YEAR + " 年一月完成</p>");
      if ( MONTH == "02" )
        document.writeln("    <p>" + YEAR + " 年二月完成</p>");
      if ( MONTH == "03" )
        document.writeln("    <p>" + YEAR + " 年三月完成</p>");
      if ( MONTH == "04" )
        document.writeln("    <p>" + YEAR + " 年四月完成</p>");
      if ( MONTH == "05" )
        document.writeln("    <p>" + YEAR + " 年五月完成</p>");
      if ( MONTH == "06" )
        document.writeln("    <p>" + YEAR + " 年六月完成</p>");
      if ( MONTH == "07" )
        document.writeln("    <p>" + YEAR + " 年七月完成</p>");
      if ( MONTH == "08" )
        document.writeln("    <p>" + YEAR + " 年八月完成</p>");
      if ( MONTH == "09" )
        document.writeln("    <p>" + YEAR + " 年九月完成</p>");
      if ( MONTH == "10" )
        document.writeln("    <p>" + YEAR + " 年十月完成</p>");
      if ( MONTH == "11" )
        document.writeln("    <p>" + YEAR + " 年十一月完成</p>");
      if ( MONTH == "12" )
        document.writeln("    <p>" + YEAR + " 年十二月完成</p>");
      if ( MONTH == null )
        document.writeln("    <p>" + YEAR + " 年完成</p>");
    }
    else {
      if ( MONTH == "01" )
        document.writeln("    <p>Completed in January, " + YEAR + "</p>");
      if ( MONTH == "02" )
        document.writeln("    <p>Completed in February, " + YEAR + "</p>");
      if ( MONTH == "03" )
        document.writeln("    <p>Completed in March, " + YEAR + "</p>");
      if ( MONTH == "04" )
        document.writeln("    <p>Completed in April, " + YEAR + "</p>");
      if ( MONTH == "05" )
        document.writeln("    <p>Completed in May, " + YEAR + "</p>");
      if ( MONTH == "06" )
        document.writeln("    <p>Completed in June, " + YEAR + "</p>");
      if ( MONTH == "07" )
        document.writeln("    <p>Completed in July, " + YEAR + "</p>");
      if ( MONTH == "08" )
        document.writeln("    <p>Completed in August, " + YEAR + "</p>");
      if ( MONTH == "09" )
        document.writeln("    <p>Completed in September, " + YEAR + "</p>");
      if ( MONTH == "10" )
        document.writeln("    <p>Completed in October, " + YEAR + "</p>");
      if ( MONTH == "11" )
        document.writeln("    <p>Completed in November, " + YEAR + "</p>");
      if ( MONTH == "12" )
        document.writeln("    <p>Completed in December, " + YEAR + "</p>");
      if ( MONTH == null )
        document.writeln("    <p>Completed in " + YEAR + "</p>");
    }
  }
  if ( PIC != null )
    document.writeln("    <p align=\"center\"><img src=\"" + PIC + "\" border=\"0\" /></p>");

  //----------------------------------------------------------------------------------------------//
  // Write the contents of the web page
  //----------------------------------------------------------------------------------------------//
  for ( var i=1; i<numParagraphs; i++ ) {
    if ( ct[i].getElementsByTagName("TYPE")[0].childNodes[0].nodeValue == 1 ) {
      for ( var j=0; j<ct[i].getElementsByTagName("TEXT").length; j++ ) {
        var TEXTLANGUAGE = ct[i].getElementsByTagName("TEXT")[j].getAttribute("language");
        if ( TEXTLANGUAGE == LANGUAGE || TEXTLANGUAGE == "All" ) {
          document.writeln("    <p align=\"justify\">");
          restoreHTML(ct[i].getElementsByTagName("TEXT")[j].childNodes,LANGUAGE);
          document.writeln("");
          document.writeln("    </p>");
        }
      }
    }
    else {
      if ( ct[i].getElementsByTagName("TYPE")[0].childNodes[0].nodeValue == 2 ) {
        var NUMPICS  = ct[i].getElementsByTagName("NUMPICS")[0].childNodes[0].nodeValue;
        var PICNAMES = new Array(NUMPICS);
        for (var j=0; j<NUMPICS; j++) {
          PICNAMES[j]  = ct[i].getElementsByTagName("PIC"+(j+1))[0].childNodes[0].nodeValue;
        }
        document.writeln("    <p align=\"center\">");
        for ( var k=0; k<NUMPICS; k++ ) {
          document.write(  "    <a href=\"javascript:generatePhotoPage(" + k + ",");
          document.write(  "['" + PICNAMES.toString().replace(/,/g,"','") + "'],'");
          document.writeln(TITLE.replace('\'','\\\'') + "','"+ LANGUAGE + "');\">");
          document.writeln("      <img src=\"" + PICNAMES[k] + "\" />");
          document.writeln("    </a>");
        }
        document.writeln("    </p>");
      }
    }
  }

  //----------------------------------------------------------------------------------------------//
  // Write end-of-content information in HTML code
  //----------------------------------------------------------------------------------------------//
  if ( LANGUAGE == 'English' )
    document.writeln("    <p align=\"center\">- The End -</p>");
  else
    document.writeln("    <p align=\"center\">《完》</p>");
  document.writeln("    <hr />");

  if ( currentFolderInModelList == 1 ) {
    //--------------------------------------------------------------------------------------------//
    // Identify the previous and next folders
    //--------------------------------------------------------------------------------------------//
    var previousFolderIndex = cFolderIndex + 1;
    var nextFolderIndex     = cFolderIndex - 1
    if ( previousFolderIndex == numFolders ) {
      previousFolderIndex = 0;
      if ( LANGUAGE == 'English' )
        var leftLabel  = "Latest One";
      else
        var leftLabel  = "最新作品";
    }
    else {
      if ( LANGUAGE == 'English' )
        var leftLabel  = "Previous One";
      else
        var leftLabel  = "前一作品";
    }
    if ( nextFolderIndex == -1 ) {
      nextFolderIndex = numFolders - 1;
      if ( LANGUAGE == 'English' )
        var rightLabel = "Earliest One";
      else
        var rightLabel = "最早作品";
    }
    else {
      if ( LANGUAGE == 'English' )
        var rightLabel = "Next One";
      else
        var rightLabel = "下一作品";
    }

    //--------------------------------------------------------------------------------------------//
    // Choose some other folders randomly
    //--------------------------------------------------------------------------------------------//
    if( document.body != null )
      windowWidth = document.body.clientWidth - 140;
    else {
      if( window.screen != null )
        windowWidth = window.screen.availWidth - 140;
      else {
        if( window.innerWidth != null )
          windowWidth = window.innerWidth - 140;
        else
          windowWidth = 300;
      }
    }
    var numIcons = Math.floor(windowWidth/150);
    var fIndices = new Array(1+numIcons);
    fIndices[0]  = cFolderIndex;
    fIndices[1]  = previousFolderIndex;
    fIndices[2]  = nextFolderIndex;
    for ( var i=3; i<=numIcons; i++ ) {
      fIndices[i] = 0;
      while ( fIndices[i] == 0 ) {
        fIndices[i] = Math.ceil(numFolders*Math.random());
        for ( var j=0; j<i; j++ ) {
          if ( fIndices[i] == fIndices[j] | fIndices[i] < 0 | fIndices[i] >= numFolders ) {
            fIndices[i] = 0;
            break;
          }
        }
      }
    }
    fIndices[2]        = fIndices[numIcons];
    fIndices[numIcons] = nextFolderIndex;

    //--------------------------------------------------------------------------------------------//
    // Generate the HTML code for the other model links
    //--------------------------------------------------------------------------------------------//
    if ( LANGUAGE == 'English' )
      document.writeln("    <h3>Other Model Works</h3>");
    else
      document.writeln("    <h3>其他作品</h3>");
    document.writeln("    <p align=\"center\">");
    document.writeln("      <table width=\"100%\">");
    document.writeln("        <tr height=\"117\">");
    for (var i=1; i<=numIcons; i++) {
      fIndex = fIndices[i];
      picID = 100 + i;
      var folderName  = ml[fIndex].getElementsByTagName("FOLDER")[0].childNodes[0].nodeValue;
      var modelName   = ml[fIndex].getElementsByTagName("NAME")[0].childNodes[0].nodeValue;
      var modelScale  = ml[fIndex].getElementsByTagName("SCALE")[0].childNodes[0].nodeValue;
      var modelManuf  = ml[fIndex].getElementsByTagName("MANUFACTURER")[0].childNodes[0].nodeValue;
      var modelIcon   = ml[fIndex].getElementsByTagName("ICON")[0].childNodes[0].nodeValue;
      var modelDescpt = modelManuf + " " + modelScale + " " + modelName;
      document.writeln("          <td width=\"145\" align=\"center\">");
      document.writeln("            <a href=\"http://www.dilatonsworld.net/models/" + folderName + "/index.html?" + LANGUAGE + "\">");
      document.write(  "              <img name=\"pic" + picID + "\" ");
      document.write(  "src=\"http://www.dilatonsworld.net/models/" + folderName + "/" + modelIcon + "\"");
      document.write(  "alt=\"" + modelDescpt + "\" ");
      document.write(  "onMouseOver=\"pic" + picID + ".height=105\" ");
      document.writeln("onMouseOut=\"pic" + picID + ".height=100\" />");
      document.writeln("            </a>");
      document.writeln("          </td>");
    }
    document.writeln("        </tr>");
    document.writeln("        <tr>");
    for (var i=1; i<=numIcons; i++) {
      if (i == 1) {
        message = leftLabel;
      }
      else {
        if (i == numIcons) {
          message = rightLabel;
        }
        else {
          message = "";
        }
      }
      document.writeln("          <td align=\"center\">" + message + "</td>");
    }
    document.writeln("        </tr>");
    document.writeln("      </table>");
    document.writeln("    </p>");
    document.writeln("    <hr />");
  }

  //----------------------------------------------------------------------------------------------//
  // Generate standard footer of the web page in HTML code
  //----------------------------------------------------------------------------------------------//
  document.writeln("    <p><table width=\"100%\" border=\"0\"><tr>");
  document.writeln("      <td align=\"left\">");
  document.writeln("        <a href=\"http://www.dilatonsworld.net/models/\" target=\"_top\">");
  document.writeln("          <img src=\"http://www.dilatonsworld.net/models/home.gif\" alt=\"Home\" border=\"0\" />");
  document.writeln("        </a>");
  document.writeln("      </td>");
  document.writeln("      <td align=\"right\">");
  if ( contentsDoc.lastModified != null ) {
    document.writeln("        <address>");
    document.write(  "Last updated on " + contentsDoc.lastModified);
    document.writeln(" by <a href=\"mailto:models@dilatonsworld.net\">dilaton</a>.");
    document.writeln("        </address>");
    document.writeln("        <br>");
  }
  document.writeln("        <address>&copy 2012 dilatonsworld.net</address>");
  document.writeln("      </td>");
  document.writeln("    </tr></table></p>");
  document.writeln("  </body>");
  document.writeln("</html>");
  document.close();
}

function restoreHTML( childNodes, LANGUAGE ) {
  for ( var j=0; j<childNodes.length; j++ ) {
    if ( childNodes[j].nodeValue != null )
      document.write(childNodes[j].nodeValue);
    else {
      document.write("<" + childNodes[j].tagName);
      for ( var k=0; k<childNodes[j].attributes.length; k++ ) {
        attributeName  = childNodes[j].attributes[k].nodeName;
        attributeValue = childNodes[j].attributes[k].nodeValue;
        if ( childNodes[j].tagName == "a" ) {
          if ( attributeName = "href" ) {
            if ( attributeValue.search("../") != -1 )
              document.write(" " + attributeName + "=\"" + attributeValue + "?" + LANGUAGE + "\"");
            else
              document.write(" " + attributeName + "=\"" + attributeValue + "\"");
          }
          else
            document.write(" " + attributeName + "=\"" + attributeValue + "\"");
        }
        else
          document.write(" " + attributeName + "=\"" + attributeValue + "\"");
      }
      document.write(">");
      restoreHTML(childNodes[j].childNodes,LANGUAGE);
      document.writeln("</" + childNodes[j].tagName + ">");
    }
  }
}
// -- End Hiding Here -->

