// LSA common
targ = new Image(16,16);
targ.src="/lsa/images/target.png";

targ_over = new Image(16,16);
targ_over.src="/lsa/images/target-over.png";

back = new Image(36,21);
back.src="/lsa/images/back-arrow.png";

back_over = new Image(36,21);
back_over.src="/lsa/images/back-arrow-over.png";

cart = new Image(16,16);
cart.src="/lsa/images/cart.png";

cart_over = new Image(16,16);
cart_over.src="/lsa/images/cart-over.png";

remove = new Image(9,11);
remove.src="/lsa/images/remove.png";

remove_over = new Image(9,11);
remove_over.src="/lsa/images/remove-over.png";

function Trim(s) {
  return s.replace(/^\s+/g,'').replace(/\s+$/g,'');
}
function GenPass (len) {
    var plen = len;
    var password="";
    var possible = "abcdefghijkmnpqrstuvwxyz23456789ABCDEFGHJKLMNPQRSTUVWXYZ";
    while (password.length < plen) {
        password = password + possible.substr(Math.floor(Math.random()*possible.length), 1);
    }
    document.account.genpass.value = password;
}
function UsePass() {
    var password=document.getElementById('genpass').value;
    if (password.length > 0) {
      document.account.password1.value = password;
      document.account.password2.value = password;
      document.account.genpass.value = "";
    }
}
var HELP='&nbsp;';
var MSG='&nbsp;';
function SetIndex(idx) {
    var curCookie = "lsaIdx=" + idx + "; path=/";
    document.cookie = curCookie;
}
function GetIndex() {
  LOADED = true;
  var allcookies = document.cookie;
  var pos = allcookies.indexOf("lsaIdx");
  if (pos != -1) {
    var start = pos + 7;
    var end = allcookies.indexOf(';', start);
    if (end == -1) {end = allcookies.length;}
    var idx = allcookies.substring(start,end);
    return idx;
  }
}
function SetMsg(msg) {
    mesg=escape(msg);
    var curCookie = "lsaMsg=" + mesg + "; path=/";
    document.cookie = curCookie;
}
function GetMsg() {
  LOADED = true;
  var allcookies = document.cookie;
  var pos = allcookies.indexOf("lsaMsg");
  if (pos != -1) {
    var start = pos + 7;
    var end = allcookies.indexOf(';', start);
    if (end == -1) {end = allcookies.length;}
    var msg = allcookies.substring(start,end);
    var regex9 = /[\+|\s]/ig;
    msg = msg.replace(regex9, "&nbsp\;");
    msg = unescape(msg);
    DoMsg(msg);
    var curCookie = "lsaMsg=" + "+" + "; path=/";
    document.cookie = curCookie;
  }
}
function footerWindow(footer_url) {
  var x = 1024;
  var y = 1024;
  var footer_attr = "width=" + x + ",height=" + y + ",scrollbars=yes,resizable=yes,status=no,toolbar=no";
  var url = NOSSL + PROJ + footer_url;
  var fw = window.open(url,'footerWin',footer_attr,'true');
  fw.focus();
}
function newsWindow(news_url) {
  var x = 1024;
  var y = 1024;
  var news_attr = "width=" + x + ",height=" + y + ",scrollbars=yes,resizable=yes,status=yes,toolbar=yes";
  var url = news_url;
  var nw = window.open(url,'newsWin',news_attr,'true');
  nw.focus();
}
function LSAhelpWindow(help_url) {
  var x = 1024;
  var y = 1024;
  var help_attr = "width=" + x + ",height=" + y + ",scrollbars=yes,resizable=yes,status=yes,toolbar=yes";
  var url = help_url;
  var hw = window.open(url,'helpWin',help_attr,'true');
  hw.focus();
}
function editWindow(edit_url) {
  var x = 1024;
  var y = 1024;
  var edit_attr = "width=" + x + ",height=" + y + ",scrollbars=yes,resizable=yes,status=yes,toolbar=no";
  var url = edit_url;
  var ew = window.open(url,'editWin',edit_attr,'true');
  ew.focus();
}
function bannerWindow(banner_url) {
  var x = 1024;
  var y = 1024;
  var banner_attr = "width=" + x + ",height=" + y + ",scrollbars=yes,resizable=yes,status=yes,toolbar=yes";
  var url = banner_url;
  var bw = window.open(url,'bannerWin',banner_attr,'true');
  bw.focus();
}
function Close() {
  self.close();
}
function Close_update() {
  self.close();
  window.opener.location.reload(true);
}
function DoMsg(msg) {
  var textnode1=document.getElementById('message');
  if (textnode1 != null) {
    textnode1.innerHTML='<span class="warn">' + msg + '</span>';
  }
  var textnode2=document.getElementById('message2');
  if (textnode2 != null) {
    textnode2.innerHTML='<span class="warn">' + msg + '</span>';
  }
  MSG=msg;
  return false;
}
function ClearMsg() {
  var textnode1=document.getElementById('message');
  if (textnode1 != null) {
    textnode1.innerHTML=HELP;
  }
  var textnode2=document.getElementById('message2');
  if (textnode2 != null) {
    textnode2.innerHTML=HELP;
  }
  MSG='&nbsp;';
  return;
}
function DoHelp(help) {
  var textnode1=document.getElementById('message');
  if (textnode1 != null) {
    textnode1.innerHTML='<span class="help">' + help + '</span>';
  }
  var textnode2=document.getElementById('message2');
  if (textnode2 != null) {
    textnode2.innerHTML='<span class="help">' + help + '</span>';
  }
  HELP=help;
  return;
}
function ClearHelp() {
  var textnode1=document.getElementById('message');
  if (textnode1 != null) {
    textnode1.innerHTML=MSG;
  }
  var textnode2=document.getElementById('message2');
  if (textnode2 != null) {
    textnode2.innerHTML=MSG;
  }
  HELP='&nbsp;';
  return;
}
function ClearList() {
  var i, box;
  for (i = 0; i <document.list.elements.length; i++) {
    box = document.list.elements[i];
    if (box.type == "radio") {
      box.checked = false;
    }
  }
  ClearMsg();
}
function Radio(field) {
  var field_choice = "";
  if (field == undefined) {
    return field_choice;
  }
  var k = field.length;
  if (k) {
      for (i = 0; i < k; i++) {
          if (field[i].checked) {
              field_choice=field[i].value;
              break;
          }
      }
  } else {
      if (field.checked) {
        field_choice=field.value;
      }
  }
  return field_choice;
}
function Checkbox(field) {
  var checklist ="";
  if (field == undefined) {
    return checklist;
  }
  var i;
  var k = field.length;
  if (k) {
    for (i = 0; i < k; i++) {
      if (field[i].checked) {
        checklist = checklist + field[i].value + '+';
      }
    }
  } else {
    if (field.checked) {
      checklist = checklist + field.value;
    }
  }
  return checklist.replace(/\+$/,'');
}
function isValidCreditCard(type, ccnum) {
  if (type == "Visa") {
    // Visa: length 16, prefix 4, dashes optional.
    var re = /^4\d{3}[- ]?\d{4}[- ]?\d{4}[- ]?\d{4}$/;
  } else if (type == "MasterCard") {
    // Mastercard: length 16, prefix 51-55, dashes optional.
    var re = /^5[1-5]\d{2}[- ]?\d{4}-?\d{4}[- ]?\d{4}$/;
  } else if (type == "Discover") {
    // Discover: length 16, prefix 6011, dashes optional.
    var re = /^6011[- ]?\d{4}[- ]?\d{4}[- ]?\d{4}$/;
  } else if (type == "Amex") {
    // American Express: length 15, prefix 34 or 37.
    var re = /^3[4,7]\d{13}$/;
  }
  if (!re.test(ccnum)) return false;
  // Remove all dashes and spaces
  ccnum = ccnum.split("-").join("");
  ccnum = ccnum.split(" ").join("");
  // Checksum ("Mod 10")
  // Add even digits in even length strings or odd digits in odd length strings.
  var checksum = 0;
  for (var i=(2-(ccnum.length % 2)); i<=ccnum.length; i+=2) {
    checksum += parseInt(ccnum.charAt(i-1));
  }
  // Analyze odd digits in even length strings or even digits in odd length strings.
  for (var i=(ccnum.length % 2) + 1; i<ccnum.length; i+=2) {
    var digit = parseInt(ccnum.charAt(i-1)) * 2;
    if (digit < 10) { checksum += digit; } else { checksum += (digit-9); }
  }
  if ((checksum % 10) == 0) return true; else return false;
}
function validateTime(fld) {
  var h,m, z, nh;
  var tim = null;
  var RegExTime = /^(0?[1-9]|1[0-2]):([0-5]\d)(\s+([ap]m|[AP]M))?$/;
  var timfld=Trim(fld.value);
  if (timfld.match(RegExTime)) {
    h = RegExp.$1;
    m = RegExp.$2;
    z = RegExp.$4.toLowerCase();
    nh = Number(h);
    if (z == 'pm' && nh < 12) {
      nh = nh + 12;
    } else if (z == 'am' && nh == 12) {
      nh = 0;
    } else if (!z && nh < 7) {
      nh = nh + 12;
    }
    if (nh == 24) {nh = 0;}
    h = String(nh);
    if (nh < 10) {h = '0' + h;}
    tim = h + ':' + m + ':00'
    return tim;
  } else {
    return tim;
  }
}
function validateDate(fld) {
  var y,m,d
  var dat = null;
  var RegExDate = /^(?=\d)(?:(?:(?:(?:(?:0?[13578]|1[02])(\/|-|\.)31)\1|(?:(?:0?[1,3-9]|1[0-2])(\/|-|\.)(?:29|30)\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})|(?:0?2(\/|-|\.)29\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))|(?:(?:0?[1-9])|(?:1[0-2]))(\/|-|\.)(?:0?[1-9]|1\d|2[0-8])\4(?:(?:1[6-9]|[2-9]\d)?\d{2}))($|\ (?=\d)))?(((0?[1-9]|1[012])(:[0-5]\d){0,2}(\ [AP]M))|([01]\d|2[0-3])(:[0-5]\d){1,2})?$/;
  if (fld.value.match(RegExDate)) {
      RegExDate = /^(\d{1,2})(-|\.|\/)(\d{1,2})(-|\.|\/)(\d{4})$/;
      if (fld.value.match(RegExDate)) {
        y = RegExp.$5;
        m = RegExp.$1;
        d = RegExp.$3;
        if (m.length == 1) {m = '0' + m;}
        if (d.length == 1) {d = '0' + d;}
        dat = y + "-" + m + '-' + d;
        return dat;
      } else {
        return dat;
      }
  } else {
      return dat;
  }
}
function validateLat(fld) {
  var lat = undefined;
  var d,v;
  var RegExDMSLat = /^([NS])\s?([0-8][0-9](\.[0-5]\d){2}|90(\.00){2})$/;
  var RegExDecLat = /^([NS]\s?|-)?([1-8]?[0-9]\.{1}\d{1,6}$|90\.{1}0{1,6})$/;
  var RegExTmp = /^([0-9]{2})\.([0-9]{2})\.([0-9]{2})$/;
  if (fld.value.match(RegExDMSLat)) {
    d = RegExp.$1;
    v = RegExp.$2;
    if (v.match(RegExTmp)) {
      lat = parseFloat(RegExp.$1) + (parseFloat(RegExp.$2)/60) + (parseFloat(RegExp.$3)/3600);
      if (d == "S") {lat = -lat}
      return lat;
    }
  } else if (fld.value.match(RegExDecLat)) {
    d = RegExp.$1;
    lat = parseFloat(RegExp.$2);
    if (d == "S" || d == "-") {lat = -lat;}
    return lat;
  } else {
    return lat;
  }
}
function validateLon(fld) {
  var lon = undefined;
  var d,v;
  var RegExDMSLon = /^([EW])\s?((0?\d\d|1[0-7]\d)(\.[0-5]\d){2}|180(\.00){2})$/;
  var RegExDecLon = /^([EW]\s?|\-)?((([1]?[0-7][0-9]|[1-9]?[0-9])\.{1}\d{1,6}$)|[1]?[1-8][0]\.{1}0{1,6})$/;
  var RegExTmp = /^([0-9]{2})\.([0-9]{2})\.([0-9]{2})$/;
  if (fld.value.match(RegExDMSLon)) {
    d = RegExp.$1;
    v = RegExp.$2;
    if (v.match(RegExTmp)) {
      lon = parseFloat(RegExp.$1) + (parseFloat(RegExp.$2)/60) + (parseFloat(RegExp.$3)/3600);
      if (d == "W") {lon = -lon;}
      return lon;
    }
  } else if (fld.value.match(RegExDecLon)) {
    d = RegExp.$1;
    lon = parseFloat(RegExp.$2);
    if (d == "W " || d == "-") {lon = -lon;}
    return lon;
  } else {
    return lon;
  }
}
function New_account(type) {
  if (!LOADED) {return;}
  var htdoc = SSL + PROJ + "newacct.php?action=new";
  htdoc = htdoc + "&nu_account_type=" + type;
  htdoc = htdoc + "&caller=" + BASENAME;
  window.location.replace(htdoc);
}
function New_manual_account(type) {
  if (!LOADED) {return;}
  var htdoc = SSL + PROJ + "newacct.php?action=manual";
  htdoc = htdoc + "&nu_account_type=" + type;
  htdoc = htdoc + "&caller=" + BASENAME;
  window.location.replace(htdoc);
}
function New_member(id) {
  if (!LOADED) {return;}
  var htdoc = SSL + PROJ + "newmemb.php?action=new";
  var htdoc = htdoc + "&nu_account_id=" + id;
  htdoc = htdoc + "&caller=" + BASENAME;
  window.location.replace(htdoc);
}
function Edit_account(id) {
  if (!LOADED) {return;}
  var htdoc = SSL + PROJ + "editacct.php?action=edit";
  htdoc = htdoc + "&nu_account_id=" + id;
  htdoc = htdoc + "&caller=" + BASENAME;
  window.location.replace(htdoc);
}
function Edit_manual_account(id) {
  if (!LOADED) {return;}
  var htdoc = SSL + PROJ + "editacct.php?action=manual";
  htdoc = htdoc + "&nu_account_id=" + id;
  htdoc = htdoc + "&caller=" + BASENAME;
  window.location.replace(htdoc);
}
function Edit_member(aid,mid) {
  if (!LOADED) {return;}
  var htdoc = SSL + PROJ + "editmemb.php?action=edit&nu_account_id=" + aid;
  htdoc = htdoc + "&nu_member_id=" + mid;
  htdoc = htdoc + "&caller=" + BASENAME;
  window.location.replace(htdoc);
}
function LSA_help(file) {
  var htdoc = NOSSL + PROJ + "help/" + file + ".php";
  LSAhelpWindow(htdoc);
}
function Calendar() {
  var htdoc = NOSSL + "/cgi-bin/calendar/calendar.cgi?submit=show";
  htdoc = htdoc + "&backURL=" + escape(SELFURL);
  window.location.replace(htdoc);
}
function Gallery() {
  var htdoc = NOSSL + "/cgi-bin/gallery/all-galleries.cgi?submit=all";
  htdoc = htdoc + "&backURL=" + escape(SELFURL);
  window.location.replace(htdoc);
}
function mediaWindow() {
  var gallery_attr = "scrollbars=yes,resizable=yes,status=yes,toolbar=no";
  var gallery_url = "/cgi-bin/gallery/all-galleries.cgi?submit=all";
  var gw = window.open(gallery_url,'galleryWin',gallery_attr,'true');
  gw.focus();
}
function Cart(aid) {
  if (!LOADED) {return;}
  var htdoc = SSL + PROJ + "add2cart.php?action=cart";
  htdoc = htdoc + "&nu_account_id=" + aid;
  htdoc = htdoc + "&caller=" + BASENAME;
  window.location.replace(htdoc);
}
function Checkout() {
  if (!LOADED) {return;}
  var htdoc = SSL + PROJ + "checkout.php?action=getcard";
  htdoc = htdoc + "&caller=" + BASENAME;
  window.location.replace(htdoc);
}
function List_accounts() {
  if (!LOADED) {return;}
  var htdoc = SSL + PROJ + "listaccts.php?action=";
  htdoc = htdoc + "&caller=" + BASENAME;
  window.location.replace(htdoc);
}
function Orders(aid) {
  if (!LOADED) {return;}
  var htdoc = SSL + PROJ + "orderhis.php?action=orders";
  htdoc = htdoc + "&nu_account_id=" + aid;
  htdoc = htdoc + "&caller=" + BASENAME;
  window.location.replace(htdoc);
}
function Memberships(aid) {
  if (!LOADED) {return;}
  var htdoc = SSL + PROJ + "membhis.php?action=memberships";
  htdoc = htdoc + "&nu_account_id=" + aid;
  htdoc = htdoc + "&caller=" + BASENAME;
  window.location.replace(htdoc);
}
function Show_clubs(aid) {
  if (!LOADED) {return;}
  var htdoc = NOSSL + PROJ + "showclubs.php?action=show";
  htdoc = htdoc + "&nu_account_id=" + aid;
  htdoc = htdoc + "&caller=" + BASENAME;
  window.location.replace(htdoc);
}
function Show_links(aid) {
  if (!LOADED) {return;}
  var htdoc = NOSSL + PROJ + "showlinks.php?action=show";
  htdoc = htdoc + "&caller=" + BASENAME;
  window.location.replace(htdoc);
}
function List_links() {
  if (!LOADED) {return;}
  var htdoc = NOSSL + PROJ + "listlinks.php?action=list";
  htdoc = htdoc + "&caller=" + BASENAME;
  window.location.replace(htdoc);
}
function List_depts() {
  if (!LOADED) {return;}
  var htdoc = NOSSL + PROJ + "listdepts.php?action=list";
  htdoc = htdoc + "&caller=" + BASENAME;
  window.location.replace(htdoc);
}
function List_cats() {
  if (!LOADED) {return;}
  var htdoc = NOSSL + PROJ + "listcats.php?action=list";
  htdoc = htdoc + "&caller=" + BASENAME;
  window.location.replace(htdoc);
}
function List_newscats() {
  if (!LOADED) {return;}
  var htdoc = NOSSL + PROJ + "listnewscats.php?action=list";
  htdoc = htdoc + "&caller=" + BASENAME;
  window.location.replace(htdoc);
}
function List_newsgroups() {
  if (!LOADED) {return;}
  var htdoc = NOSSL + PROJ + "listnewsgroups.php?action=list";
  htdoc = htdoc + "&caller=" + BASENAME;
  window.location.replace(htdoc);
}
function List_news() {
  if (!LOADED) {return;}
  var htdoc = NOSSL + PROJ + "listnews.php?action=list";
  htdoc = htdoc + "&caller=" + BASENAME;
  window.location.replace(htdoc);
}
function Banner_art() {
  if (!LOADED) {return;}
  var htdoc = NOSSL + PROJ + "bannerart.php?action=gallery";
  htdoc = htdoc + "&caller=" + BASENAME;
  window.location.replace(htdoc);
}
function Show_dept(id) {
  if (!LOADED) {return;}
  var cat_id = id;
  var htdoc = NOSSL + PROJ + "showdept.php?action=show";
  htdoc = htdoc + "&nu_department_id=" + cat_id;
  htdoc = htdoc + "&caller=" + BASENAME;
  window.location.replace(htdoc);
}
function Show_item(department_id, category_id, item_id, color_id) {
  if (!LOADED) {return;}
  var htdoc = NOSSL + PROJ + "showitem.php?action=show";
  htdoc = htdoc + "&nu_department_id=" + department_id;
  htdoc = htdoc + "&nu_category_id=" + category_id;
  htdoc = htdoc + "&nu_item_id=" + item_id;
  htdoc = htdoc + "&nu_color_id=" + color_id;
  htdoc = htdoc + "&caller=" + BASENAME;
  window.location.replace(htdoc);
}
function Config() {
  if (!LOADED) {return;}
  var htdoc = SSL + PROJ + "config.php?action=edit"
  htdoc = htdoc + "&caller=" + BASENAME;
  window.location.replace(htdoc);
}
function Utils() {
  if (!LOADED) {return;}
  var htdoc = SSL + PROJ + "utils.php?action=menu"
  htdoc = htdoc + "&caller=" + BASENAME;
  window.location.replace(htdoc);
}
function LSA_home(newscat_id,newscat_name) {
  var htdoc = NOSSL + "/index.php";
  htdoc = htdoc + "?caller=" + BASENAME;
  htdoc = htdoc + "&home_newscat_id=" + newscat_id;
  htdoc = htdoc + "&home_newscat_name=" + newscat_name;
  window.location.replace(htdoc);
}
function Restore_access_1() {
  var htdoc = SSL + PROJ + "login.php?action=ask_restore";
  htdoc = htdoc + "&caller=" + BASENAME;
  window.location.replace(htdoc);
}
function Login_1() {
  var htdoc = SSL + PROJ + "login.php?action=ask_login";
  htdoc = htdoc + "&caller=" + BASENAME;
  window.location.replace(htdoc);
}
function Logout() {
  var htdoc = SSL + PROJ + "login.php?action=logout"
  htdoc = htdoc + "&caller=" + BASENAME;
  window.location.replace(htdoc);
}
