
var length = entries.length;
var globalLength = length;

function getRandom( max)
{
  var result = 0;
  result = Math.round( Math.random() * max);

  if ( result >= max)
    result = result - 1;

  return result;
}

function process( entries)
{

var maxLength = 4;

var header = '<h2>Poster’n’Prints</h2><div class="link-note">';
var footer = '</div>';

var thumb_size = 160;
var thumb_resize = 1;

var is_random = 1;

var template =
'<p><table width="10" border="0" cellspacing="0" cellpadding'
+ '="0">  <tr>     <td colspan="2" style="border-top: solid'
+ ' 1px #e7e7e7;border-left: solid 1px #e7e7e7;"><a href="{'
+ 'url}" target="new"><img style="border: none;" src="{thumbnail_url}" alt="{title}" title="{t'
+ 'itle}" border="0" height="{thumbnail_height}" width="{th'
+ 'umbnail_width}"></a></td><td valign="top" backgrou'
+ 'nd="http://www.acado.com/img/ds_rt_a.png" style="vertica'
+ 'l-align:top;"><img  style="border: none;" border="0" width="8" height="9" src="'
+ 'http://www.acado.com/img/ds_rtop_a.png"></td>  </tr>  <t'
+ 'r>     <td background="http://www.acado.com/img/ds_bt_a.'
+ 'png"><img  style="border: none;" border="0" width="8" height="8" src="http://ww'
+ 'w.acado.com/img/ds_bl_a.png"></td>     <td background="h'
+ 'ttp://www.acado.com/img/ds_bt_a.png"><!--<img style="border: none;" border="0" wid'
+ 'th="1" height="1" src="http://www.acado.com/img/blank.'
+ 'gif">--></td> <td><img style="border: none;" border="0"  width="8" height="8" '
+ 'src="http://www.acado.com/img/ds_br_a.png"></td>  </tr><'
+ '/table>\n<a href="{url}" title="{title}" target="new">{title}</a>{artist_code}<br clear="all"/></p>\n';

var template_artist = ' by <a href="{artist_url}" target="new" title="{artist}">{artist}</a>';

// random

var length = entries.length;
var globalLength = length;

if ( globalLength > 0)
  document.write( header);

if ( length > maxLength)
  length = maxLength;

for (var i = 0; i < length; i++) {
  var output = template;

  // random selection
  if ( is_random)
  {
    var pointer = getRandom( globalLength - i);

    var entry = entries[ pointer];

    // reduce entries
    // debug
    // document.write( "<p>newLength " + newLength + " Pointer " + pointer + "</p>");
    var subPre = new Array();
    subPre = entries.slice( 0, pointer);
    var subPost = new Array();
    subPost = entries.slice( pointer + 1);
    var entries = new Array();
    entries = entries.concat( subPost);
    entries = entries.concat( subPre);

    var newLength = entries.length;

  }
  else
    var entry = entries[i];

  // debug
  // document.write("<dl><dt>entry " + (i + 1) + "<\/dt>");

  // change thumbnail width and height
  if ( thumb_resize)
  {
          var thumb_width = entry["thumbnail_width"];
          var thumb_height = entry["thumbnail_height"];

          if (( thumb_width < thumb_height) & (thumb_height > 0))
          {
            thumb_height = Math.round( thumb_height * thumb_size / thumb_width);
            thumb_width = thumb_size;
          }
          else
          if (( thumb_width >= thumb_height) & (thumb_width > 0))
          {
            thumb_width = Math.round( thumb_width * thumb_size/ thumb_height);
            thumb_height = thumb_size;
          }

          entry["thumbnail_width"] = thumb_width;
          entry["thumbnail_height"] = thumb_height;

          // change thumbnail url
          var thumb_url = entry["thumbnail_url"];
          thumb_url = thumb_url.replace( /_a\.jpg/g, "_b.jpg");
          entry["thumbnail_url"] = thumb_url;
  }

  // artist code
  if ( entry["artist"].length > 0 & entry["artist_url"].length > 0)
  {
    var artist_code = template_artist;
    for (var value in entry)
    {
      var search = "{" + value + "}";
      var reg = new RegExp(search, 'gi');

      artist_code = artist_code.replace( reg, entry[value]);
    }
    entry["artist_code"] = artist_code;
  }
  else
    entry["artist_code"] = '';

  // parse template
  for (var value in entry)
  {
    var search = "{" + value + "}";
    var reg = new RegExp(search, 'gi');

    output = output.replace( reg, entry[value]);
    // debug
    // document.write("<dd>" + value + ": " + entry[value] + "<\/dd>");
  }
  document.write( output);
  // debug
  // document.write("<\/dl>");
}

if ( globalLength > 0)
  document.write( footer);
}

if ( entries.length > 0)
  process( entries);
