/*
 * Puts partner links in random order. Link to Avema
 * page is always last
 */
function randomizeLinks() {
  var linksHolder = document.getElementById("links");
  var linksList = document.getElementById("links").getElementsByTagName("A");
  var links = new Array();
  var avemaLink = linksHolder.removeChild(document.getElementById("avemaLink"));

  for (var i = linksList.length - 1; i >= 0; i--) {
    links[i] = linksHolder.removeChild(linksList[i]);
  }
  var elmntsToInsert = links.length;
  var currentTime = new Date();
  var after5Seconds = new Date(currentTime.getTime() + 5000);

  // go through every link and insert them in random order
  // into link holder
  while (elmntsToInsert > 0) {
    var index = createRandomValue(0, links.length - 1);
    if (links[index]) {
      linksHolder.appendChild(links[index]);
      elmntsToInsert--;
      delete links[index];
      links.sort();
      try {
        links.pop();
      } catch (e) {
      // pop() methode is not supported by some older
      // versions of IE. This methode is not essencial
      // for execution
      }
    }
    currentTime = new Date();
 
    // in case if this randomizing takes more then
    // 5 seconds then abort it
    if (currentTime.getTime() > after5Seconds.getTime()) {
      for (var i = 0; i < links.length; i++) {
        if (links[i]) {
          linksHolder.appendChild(links[i]);
        }
      }
      elmntsToInsert = 0;
    }
  }
  linksHolder.appendChild(avemaLink);
}

/*
 * Returns random number that is greater then low and
 * lower then high
 */
function createRandomValue(low, high) {
  return Math.floor(Math.random() * (1 + high - low) + low);
}
