/**
 * @author marc.zahn - mzahn@magix.net
 */
function Registration(type)
{
	this.userData			= new Object();
	this.regSent			= false;
	this.type				= type
}

Registration.prototype.setUserDataValue = function(key, value)
{
	this.userData[key] = value;
}

Registration.prototype.sendRegistration = function()
{
	if (this.regSent)
		return false;

	this.regSent = true;
	req = new AjaxApp('registration');
	req.setOption('url', 'themes/ALL/ajax_engine/ajax_response.php');
	req.setOption('method', 'POST');
	req.setOption('synchron', false);
	req.setParam('reqType', this.type);
	for (key in this.userData)
		req.setParam('regData[' + key + ']', this.userData[key]);

	req.sendRequest();
	return this.handleRegResponse(req.getResponseText());
}

Registration.prototype.handleRegResponse = function(response)
{
	var result = eval('(' + response + ')');
	this.regSent = false;
	if (result.success == 'true')
		return true;
	else
		return false;
}

Registration.prototype.getLastErrorType = function()
{
	var result = null;
	try
	{
		result = eval('(' + req.getResponseText() + ')');
	}
	catch (e)
	{
		return false;
	}
	if (result.error)
		return result.error;
	else
		return false;
}

Registration.prototype.getErrorMessage = function()
{
	var result	= '';
	try
	{
		result = eval('(' + req.getResponseText() + ')');
		return result.error_message;
	}
	catch (e)
	{
		return '';
	}
}

Registration.prototype.getErrors = function()
{
	try
	{
		result = eval('(' + req.getResponseText() + ')');
		return result.errors;
	}
	catch (e)
	{
		return new Array();
	}
	
}