/**
 * Registration module
 *
 * @package    wsCat Jx
 * @version    2.0
 * @since      04.03.2008
 * @copyright  2004-2008 5Dev
 * @link       http://5dev.com
 */
function Security_Fe_Users() 
{ 
    this.__construct(); 
}

Security_Fe_Users.prototype = 
{
    errFlag: false,
    mBlock:  false,

    __construct: function()
    {
    },

    UI: function()
    {
       str = 'UserInfo';
       for (var i = 0; i < arguments.length; i++) 
       {
          str += '[' + arguments[i] + ']';
       }

       return document.reg.elements[str];
    },

    DeletePic: function()
    {
        this.UI('pic').value   = '';
        _v('pic_bl').innerHTML = '';
    },

    GetRegInfo: function(service, ext_id)
    {
        if (!ext_id || !check_email(ext_id))
        {
            _v('err_bl').innerHTML = '<br />Specify correct email address<br />';
            return;
        }

        _v('err_bl').innerHTML = '';
        document.reg.ext_button.disabled  = true;
        document.reg.ext_button.innerHTML = '<img src="/i/b_wait_l.gif" alt="" border="0" /> Wait...';
        this.mBlock = true;

        var req    = new JsHttpRequest();
        var mo     = this;
        req.onreadystatechange = function()
        {
            if (4 == req.readyState)
            {
               if (req.responseJS && req.responseJS.info && null != req.responseJS.info['email'] )
               {
                   var r = req.responseJS.info;

                   if (r.username)
                       mo.UI('username').value = r.username;
                   
                   if (r.pic)
                   {
                      mo.UI('pic').value = r.pic;
                   
                       _v('pic_bl').innerHTML = '<br /><img src="' + r.pic + '" width="50" alt="" border="0" />&nbsp; <a href="javascript: void(0);" onclick="uo.DeletePic();">Delete</a>'
                   }                                                                                                     
                   
                   if (r.birthday)
                   {
                       findInSelect(mo.UI('birthday','Month'), r.bday.m, 3);
                       findInSelect(mo.UI('birthday','Day'),   r.bday.d, 3);
                       findInSelect(mo.UI('birthday','Year'),  r.bday.y, 3);
                   }
                    
                   if (r.zip)
                       mo.UI('zip').value = r.zip;
                   
                   if (r.gender)
                   {
                       var cnt = mo.UI('gender').length;
                       for (var i = 0; i < cnt; i++)
                       {
                           if (r.gender ==  mo.UI('gender')[i].value)
                           {
                               mo.UI('gender')[i].checked = true;
                               break;
                           }
                       }
                   }
                   
                   if (r.name)
                       mo.UI('fname').value = r.name;
                   
                   mo.UI('email').value = r.email;
               }
               else
               {
                    _v('err_bl').innerHTML = '<br />Not found any info.';
                    _v('err_bl').innerHTML += '<br />';
               }

               document.reg.ext_button.disabled  = false;
               document.reg.ext_button.innerHTML = 'Get Info';
               mo.mBlock = false;
            }
        }
        
        req.caching = false;
        req.open('GET', '/ext_services.php', true);
        req.send({mod: 'jx', action: 'get_user_info', service: service, ext_id: ext_id});
    },
    
    ChangeService: function(service_id)
    {
        if (this.mBlock || document.reg.ext_button.disabled)
            return;

        var sar = new Array(21, 20, 22, 23);
    
        var cnt = sar.length;
    
        for (var i = 0; i < cnt; i++)
        {
            _v('service_'+sar[i]).style.backgroundColor= '#ffffff';
        }
    
        _v('service_'+service_id).style.backgroundColor= '#83BFF1';
    
        document.reg.service.value = service_id;
        _v('err_bl').innerHTML = '';
    }
}