function set_cookie(name,value,days)
{
  if (days) {
    var date = new Date();
    if (days > 364) {
      days = 364;
    }
    date.setTime(date.getTime()+(days*24*60*60*1000));
    var expires = "; expires="+date.toGMTString();
  } else var expires = "";
  document.cookie = name+"="+value+expires+"; path=/";
}

function get_cookie(name)
{ var pos
  var token = name + "=";
  var tnlen = token.length;
  var cklen = document.cookie.length;
  var i = 0;
  var j;
  while (i < cklen)
  { j = i + tnlen;
    if (document.cookie.substring(i, j) == token)
    { pos = document.cookie.indexOf (";", j);
      if (pos == -1)
        pos = document.cookie.length;
      return unescape(document.cookie.substring(j, pos));
    }
    i = document.cookie.indexOf(" ", i) + 1;
    if (i == 0) break;
  } //End While
  return null;
}


function save_user_prefs(user_id)
{
  set_cookie("user_id", user_id, 365);
  set_cookie("update", 1);
  location.replace(location.href);
}

/*
function submitform(driver_verbose)
{
  if (driver_verbose == myform.js_driver_verbose.value) {
    myform.js_driver_verbose.value = "";
  } else {
    myform.js_driver_verbose.value = driver_verbose;
  }
  myform.js_save_user_prefs.value = 0;
  myform.js_div.value = myform.div_box.options[myform.div_box.selectedIndex].value;
  myform.js_season.value = myform.season_box.options[myform.season_box.selectedIndex].value;
  myform.js_layout.value = myform.layout_box.options[myform.layout_box.selectedIndex].value;
  document.myform.submit();
}
*/

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function getArgs() {
  var args = new Object();
  var query = location.search.substring(1);
  var pairs = query.split(";");
  for (var i = 0; i < pairs.length; i++) {
    var pos = pairs[i].indexOf('=');
    if (pos == -1) continue;
    var argname = pairs[i].substring(0, pos);
    var value = pairs[i].substring(pos + 1);
    args[argname] = unescape(value);
  }
  return args;
}


function reload(param1){
  var i;
  var str;
  var value;
  var param_name;
  var param_value;
  var oldvalue;

  set_cookie("update", 0, -1);
  if (typeof(param1) == "string") {
    i = param1.indexOf("=");
    param_name = param1.substring(0, i);
    param_value = param1.substring(i + 1, param1.length);
  } else {
    param_name = param1.name;
    param_value = param1.options[param1.selectedIndex].value;
  }

  str = location.href;
  i = str.indexOf("?");
  if (i != -1) {
    str = str.substr(0, i);
  }

  oldvalue = get_cookie(param_name);
  if (param_value != " ") {
    set_cookie(param_name, param_value);
    value = get_cookie(param_name);
    if (value == null) {
      var args = getArgs();
      if (args["driver"] == param_value) {
        delete args["driver"];
      } else { 
        args[param_name] = param_value;
      }
      str = str+"?";
      for (var arg in args) {
        str = str+arg+"="+args[arg]+";"; 
      }
      str = str.substr(0, str.length - 1);
    } else {
      if (oldvalue == value) {
        set_cookie(param_name, param_value, -1);
      }
    }
    location.replace(str);
  }
}


