function gv(id) {
  var obj=document.getElementById(id);
  if (obj&&obj.value) return obj.value;
  return "";
}
function register() {
  var regname=gv("regname");
  var regpassword=gv("regpassword");
  var regverify=gv("regverify");
  var regemail=gv("regemail");
  var regfirstname=gv("regfirstname");
  var reglastname=gv("reglastname");
  var regcountry=gv("regcountry");
  var regzip=gv("regzip");
  var qs="regname="+regname+"&regpassword="+regpassword+"&regverify="+regverify+"&regemail="+regemail;
  qs=qs+"&regfirstname="+regfirstname+"&reglastname="+reglastname+"&regcountry="+regcountry+"&regzip="+regzip;
  var xml=rpcget("/register?"+qs);
  var error=xml.getElementsByTagName("error");
  if (error.length>0) {
    alert("There was an error:\n\n"+getText(error.item(0)));
    return;
  } else {
    var hash=getText(xml.getElementsByTagName("hash").item(0));
    window.location.href="/registercomplete.html?r="+hash;
  }
}
function pagelogin() {
  var username=document.getElementById("logname").value;
  var password=document.getElementById("logpasswd").value;
  var target=document.getElementById("target");
  if (target) target=target.value; else target="";
  var xml=rpcget("/corelogin?action=login&username="+username+"&password="+password);
  var error=xml.getElementsByTagName("error");
  if (error.length>0) {
    alert(getText(error.item(0)));
    return;
  } else {
    var hash=getText(xml.getElementsByTagName("hash").item(0));
    if (target&&target.length) {
      window.location.href="/corelogin?"+hash+"&"+target;
    } else {
      window.location.href="/corelogin?"+hash;
    }
  }
}

