function ShowCodeWindow(url, width, height){
  window.open(url, 'Code', 'width='+width+',height='+height);
}

function redirect(url) {
  location.href=url;
}

function reset_form(form) {
  return document.forms[form].reset();
}

function get_random_number(lbound, ubound) {
  return(Math.floor(Math.random() *(ubound - lbound)) + lbound);
}

function get_random_char() {
  var char_set="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
  return char_set.charAt(get_random_number(0, char_set.length));
}

function get_password(length) {
  var rc="";
  if(length > 0) {
    rc=rc + get_random_char();
    for(var i=1; i < length; ++i) {
      rc=rc + get_random_char();
    }
    return rc;
  }
}

function select_all(form, element) {
  var length=document.forms[form].elements[element].length;
  if(typeof(length)=='undefined') {
    document.forms[form].elements[element].checked=true;
  } else {
    for(i=0; i<=(length-1); i++) {
      document.forms[form].elements[element][i].checked=true;
    }
  }
}
  
function invert_selection(form, element) {
  var length=document.forms[form].elements[element].length;
    
  if(typeof(length)=='undefined') {
    document.forms[form].elements[element].checked=!document.forms[form].elements[element].checked;
  } else {
    for(i=0; i<=(length-1); i++) {
      document.forms[form].elements[element][i].checked=!document.forms[form].elements[element][i].checked;
    }
  }
}
