// ------------------------------------------------------
// vim: set ts=2 sts=2 sw=2 et:
// Swarm Prediction Market Platform
// Copyright (c) 2007 Swarchy.com, Taiwan
// $Id: users.js 577 2007-05-02 11:48:38Z kevinj $
// ------------------------------------------------------

//
// collect sign up parameter into hash
//
function collect_signup_info(fo)
{
  var param = {};
  var a = Form.getElements(fo);
  for (var i = 0; i < a.length; ++i) {
    var el = a[i];
    var ename = el.getAttribute("name");
    switch(ename) {
      case "invitation":
      case "login":
      case "nickname":
      case "email":
      case "email_confirmation":
      case "target":
        if (el.value == "") {
          alert(ename + " is empty!!");
          return null;
        }
        param[ename] = el.value;
        break;
      case "password":
      case "password_confirmation":
        param[ename] = encrypt_password(el.value)
        break;
      case "agree":
        param[ename] = el.checked ? "true" : "false";
    }
  }
  return param;
}

// submit signup info
function submit_signup(fo)
{
  try {
    param = collect_signup_info(fo);
    if (!param) return;
    param['json'] = true;

    var url = fo.action;
    if (!url) {
      alert("no signup target specified"); return;
    }

    Element.hide('signup_submit_button');
    Element.show('signup_processing');
    var myAjax = new Ajax.Request(url,
      {method: 'post', parameters:param,
        onSuccess: function(req) {
          Element.hide('signup_processing');
          Element.hide('signup_div');
          Element.show('signup_complete_div');
        },
        onFailure: function(req) {
          Element.hide('signup_processing');
          show_error_msg(req);
          Element.show('signup_submit_button');
        }
      });
  } catch(e) {
    alert("Error:" + e.message);
  }
}
