function initialise()
{
   var solved = document.getElementById("solved-content");
   var playing = document.getElementById("playing-content");

   if (solved != null)
      solved.style.display="none";
   if (playing != null)
      playing.style.display="none";   
}

function togglelist(list)
{
   var listcontent = document.getElementById(list + "-content");
   var listopener = document.getElementById(list + "-opener");

   var status = listcontent.style.display;

   if (status == "none")
   {
      listcontent.style.display = "block";
      listopener.innerHTML = "[-]";
   }
   else
   {
      listcontent.style.display = "none";
      listopener.innerHTML = "[+]";
   }
}

function addSelect(type, list, selected)
{
   var parent = document.getElementById(type);
   
   var p = document.createElement("p");
   p.setAttribute("class", "right-justified");
   
   var select = document.createElement("select");
   select.setAttribute("name", type + "[]");
   for (var key in list)
   {
      value=list[key];
      var option = document.createElement("option");
      select.appendChild(option);
      option.setAttribute("value", key);
      if (selected == value)
      {
         option.setAttribute("selected", "selected");
      }
      option.text=value;
   }
   p.appendChild(select);
   parent.appendChild(p);
}

function removeLastSelect(type)
{
   var parent = document.getElementById(type);
   var members = parent.getElementsByTagName("p");

   if (members.length<2) return;
   
   // now delete the last one
   parent.removeChild(members[members.length-1]);
}

function addFile()
{
   var parent = document.getElementById("filetable");
   var tr = document.createElement("tr");
   var td = document.createElement("td");
   td.appendChild(document.createTextNode('File:'));
   tr.appendChild(td);
   td = document.createElement("td");
   var input = document.createElement("input");
   input.setAttribute("type", "file");
   input.setAttribute("name", "uploadfile[]");
   td.appendChild(input);
   tr.appendChild(td);
   parent.appendChild(tr);
}

function redirect(uri)
{
   window.location.href = uri;
}

function addToField(fieldName)
{
   var field = document.getElementById(fieldName + "Field");
   var chooser = document.getElementById(fieldName + "Chooser");
   if (field.value != "")
   {
      field.value += ", ";
   }
   field.value += chooser.options[chooser.options.selectedIndex].value;
}

function resetSearchForm()
{
   document.getElementById("title").value = '';
   document.getElementById("letter").options.selectedIndex = 0;
   document.getElementById("year").options.selectedIndex = 0;
   document.getElementById("year_from").options.selectedIndex = 0;
   document.getElementById("year_to").options.selectedIndex = 0;
   document.getElementById("system").options.selectedIndex = 0;
   document.getElementById("platform").options.selectedIndex = 0;
   document.getElementById("author").options.selectedIndex = 0;
   document.getElementById("company").options.selectedIndex = 0;
   document.getElementById("tag").options.selectedIndex = 0;
   document.getElementById("file_type").options.selectedIndex = 0;
}

function setImage(i)
{
   if (typeof(images[i]) != 'undefined')
   {
      var el = document.getElementById("currentImg");
      el.src = images[i]['src'];
      el.width = images[i]['width'];
      el.height = images[i]['height'];
      el.title = images[i]['id'] + images[i]['system'];
      activeImage = i;
   }
}

function walkImages(dir)
{
   if (dir < 0) 
      activeImage--;
   else 
      activeImage++;
   if (activeImage == 0)
   { 
      // overflow
      activeImage++;
      while (typeof(images[activeImage]) != 'undefined')
         activeImage++;
      activeImage--;
   } 
   else if (typeof(images[activeImage]) == 'undefined')
   {
      // overflow
      activeImage = 1;
   }
   var img = document.getElementById('currentImg');
   img.src = images[activeImage]['src'];
   img.width = images[activeImage]['width'];
   img.height = images[activeImage]['height'];
   img.title = images[activeImage]['id'] + images[activeImage]['system'];
}

