
function PlacePhoto(Photos, RequestPage) {

  var HTML = "";
  var Size = 1;

  /* сколько можно размещать за раз ссылок */
  if( typeof NavigatorSize == "undefined"
      || !NavigatorSize )
    NavigatorSize = 9;

  /* (+) global Page */

  Photos.length = 0;
  
  // посчитаем кол-во "числовых" свойств, исходя из того, что они идут подряд
  for(var i in Photos) {

    if( !i.match(/\d+/)
        || !Photos[i]
        || typeof Photos[i] == "function" )
      continue;

    Photos.length++;
  }

  if( RequestPage < 1 )
    RequestPage = 1;

  var CountPage = Math.ceil(Photos.length / Size);

  // кол-во навигационных страниц (тех что в текущем окне просмотра)
  var CountNavigator = Math.ceil(CountPage/NavigatorSize);

  // текущая страница в навигаторе, на основе RequestPage
  var CurrentPage = Math.round(((RequestPage-1)/NavigatorSize)+0.5);

  if( RequestPage > CountPage )
    RequestPage = CountPage;

  HTML += "<div id='folio'>";
  
  for(var i = (RequestPage-1) * Size;
      i < Photos.length
      && i < (RequestPage-1) * Size + Size;
      i++) {
  
    if( !Photos[i]
        || typeof Photos[i] == "function" )
      continue;

    /*var Title = Photos[i].T + " (100%, в новом окне)\n";*/
    var Title = Photos[i].W + "x" + Photos[i].H + " точек\n";
    Title += Photos[i].S + " КБайт";

    HTML += "<div id='folioimg'>";

    if( Photos[i].W != Photos[i].Wi
        || Photos[i].H != Photos[i].Hi )
      HTML += "<a target=_blank href='" + Photos[i].F + "' onclick='OpenPhoto(this.href, " + (Photos[i].W+20) + ", " + (Photos[i].H+5) + "); return false;' title='" + Title + "'>";

    HTML += "<img width=" + Photos[i].Wi + " height=" + Photos[i].Hi + " src='" + Photos[i].I + "' border=0 alt='" + Title + "'>";

    if( Photos[i].W != Photos[i].Wi
        || Photos[i].H != Photos[i].Hi )
      HTML += "</a>";

    HTML += "</div>";
  }
  
  HTML += "<ul id=foliolist>";
  
  HTML += "<li>";

  if( RequestPage != 1 )
    HTML += "<a href='?page=" + (RequestPage-1) + "' onclick='PlacePhoto(Photos, Page-1); return false;' title='Назад'>";

  HTML += "<img border=0 src=/i/design/left.gif width=4 height=7 class=left>";

  if( RequestPage != 1 )
    HTML += "</a>";

  HTML += "</li>";

  var From = (1 + (CurrentPage-1) * NavigatorSize);
  var To = (1 + CurrentPage * NavigatorSize);

  if( To > (1 + CountPage) )
    To = (1 + CountPage);

  for(var i = From;
      i < To;
      i++) {

    if( i == RequestPage )
      HTML += "<li><span>" + i + "</span></li>";
    else
      HTML += "<li><a href='?page=" + i + "' onclick='PlacePhoto(Photos, " + i + "); return false;' title='Страница №" + i + "'>" + i + "</a></li>";
  }
    
  HTML += "<li>";

  if( RequestPage < To
      && RequestPage < CountPage )
    HTML += "<a href='?page=" + (RequestPage+1) + "' onclick='PlacePhoto(Photos, Page+1); return false;' title='Вперёд'>";

  HTML += "<img border=0 src=/i/design/right.gif width=4 height=7 class=right>";

  if( RequestPage != 1 )
    HTML += "</a>";

  HTML += "</li>";

  HTML += "</ul>";

  HTML += "</div>";

  Page = RequestPage;

  /*if( Page == 1 )
    $("page-prev").style.visibility = "hidden";
  else
    $("page-prev").style.visibility = "visible";

  if( Page == Math.ceil(Photos.length / Size) )
    $("page-next").style.visibility = "hidden";
  else
    $("page-next").style.visibility = "visible";*/

  $("photo-list").innerHTML = HTML;
}

