var initially_shown_number = 21;
function updateAvailSystems() {
  if (document.getElementById('available_systems')) {
    cookie_bits = document.cookie.split(';');
    if (cookie_bits.length > 0) {
      last_number_shown = 21;
      var access_expires = 0;
      for (cookie_index = 0;cookie_index < cookie_bits.length;cookie_index++) {
        if (cookie_bits[cookie_index].indexOf('temp_id=') >= 0) {
          cookie_bits[cookie_index] = cookie_bits[cookie_index].replace(/temp_id=/,"");
          correct_cookie_bits = cookie_bits[cookie_index].split('M');
          last_number_shown = 1*correct_cookie_bits[6];
        }
      }
      if (last_number_shown > 3  && (initially_shown_number - last_number_shown) < 2) {
        //Only allow a decrement of 2 per session
        //decrease_by = Math.floor(Math.random()*1) + 1; //Random number between 1 and 2
        decrease_by = 1;
        last_number_shown -= decrease_by;
        document.getElementById('available_systems').value = last_number_shown;
        //Now, update cookie
        correct_cookie_bits[6] = last_number_shown;
        new_cookie_string = ""; cookie_prefix = "";
        for (i=0;i<correct_cookie_bits.length;i++) {
          new_cookie_string += cookie_prefix+correct_cookie_bits[i];
          cookie_prefix = "M";
        }
        createCookie("temp_id",new_cookie_string,180);
        //next_adjustment_time_wait = Math.floor(Math.random()*4000) + 3000; //3 - 7 seconds
        if ((initially_shown_number - last_number_shown) < 2) {
          next_adjustment_time_wait = 180000; // 3 minutes
          var counter = setTimeout("updateAvailSystems()", next_adjustment_time_wait);
        }
      }
    }
  }
}
function createCookie(name,value,days) {
  //Taken from http://www.quirksmode.org/js/cookies.html
  if (days) {
    var date = new Date();
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
  }
  else var expires = "";
  document.cookie = name+"="+value+expires+"; path=/";
}
function loadPage() {
  if (!document.getElementById('available_systems')) return;
  cookie_bits = document.cookie.split(';');
  initially_shown_number = document.getElementById('available_systems').value;
  if (cookie_bits.length > 0) {
    var access_expires = 0;
    for (cookie_index = 0;cookie_index < cookie_bits.length;cookie_index++) {
      if (cookie_bits[cookie_index].indexOf('temp_id=') >= 0) {
        cookie_bits[cookie_index] = cookie_bits[cookie_index].replace(/temp_id=/,"");
        access_expires_bits = cookie_bits[cookie_index].split('M');
        var expiration_date = new Date();
        expiration_date.setFullYear((1*access_expires_bits[0] + 2000),access_expires_bits[2]*1 - 1,access_expires_bits[5]*1);
        access_expires = expiration_date.getTime()/1000 + 60*60*24*7;
      }
    }
    if (access_expires > 0) {
      var today = new Date();
      access_initially_granted = access_expires - 60*60*24*7;
      if ((parseInt(today.getTime()/1000) - access_initially_granted) >= 172000 && initially_shown_number > 3) {
        initially_shown_number = 3;
      } else if ((parseInt(today.getTime()/1000) - access_initially_granted) >= 86000 && initially_shown_number > 9) {
        initially_shown_number = 9;
      }
      access_expires_bits[6] = initially_shown_number;
      new_cookie_string = ""; cookie_prefix = "";
      for (i=0;i<access_expires_bits.length;i++) {
        new_cookie_string += cookie_prefix+access_expires_bits[i];
        cookie_prefix = "M";
      }
      createCookie("temp_id",new_cookie_string,180);
      document.getElementById('available_systems').value = initially_shown_number;
      var counter = setTimeout("updateAvailSystems()", 180000); //3 minutes
    }
    if (document.getElementById('expiration_date')) {
      exp_date = new Date(access_expires*1000);
      document.getElementById('expiration_date').value = (exp_date.getMonth()+1)+"/"+exp_date.getDate()+"/"+exp_date.getFullYear();
    }
  }
  document.getElementById('available_systems').style.color = '#000000';
}
