function prev_photo(cur,entries) {
  document.getElementById('current_image').src=entries[cur=cur==0?entries.length-1:cur-1];
  document.getElementById('photo_index_text').innerHTML = '' + (cur+1) +' DE ' + entries.length + ' ';
  var anchors = document.getElementById('photos').getElementsByTagName('a');
  for (var i =0; i < anchors.length; i++) {
    var a = anchors[i];
    if(a.className=="prev_photo_anchor" || a.className=="next_photo_anchor" || a.id == "chain") a.href=a.href.replace(/photo_id=(\d+)/i,
      function(str,p1){ return str.slice(0,-Number(p1.length)) + ((Number(p1)-1)==0?entries.length:(Number(p1)-1));});
  }
  prev_image.src= entries[cur==0 ? entries.length-1 : cur-1]; // cache previous image
  return cur;
}

function next_photo(cur,entries){
  document.getElementById('current_image').src=entries[cur=(cur+1)%entries.length];
  document.getElementById('photo_index_text').innerHTML = ' ' + (cur+1) +' DE ' + entries.length + ' ';
  var anchors = document.getElementById('photos').getElementsByTagName('a');
  for (var i=0; i< anchors.length; i++) {
    var a = anchors[i];
    if(a.className=="next_photo_anchor" || a.className=="prev_photo_anchor" || a.id == "chain" ) a.href=a.href.replace(/photo_id=(\d+)/i,
      function(str,p1){ return str.slice(0,-Number(p1.length)) + ((Number(p1))%entries.length + 1);});
  }
  next_image.src = entries[(cur+1)%entries.length]; // cache next image
  return cur;
}

function photoKeyHandler(e) {
  if (!e) e = window.event;
  var key = e.keyCode? e.keyCode : e.which;
  if(key==37) cur=prev_photo(cur,entries);
  else if(key==39) cur=next_photo(cur,entries);
}

