var Register = {
	submitBaseData : function(form) {
		ajax = new Ajax.Request(form.action, {
			evalScripts: true,
			parameters: form.serialize(),
			onCreate: function() { showLoadingIndicator(); },
			onSuccess: function(transport) { document.location = transport.responseJSON.url; },
			onFailure: function(transport) { Register.updateBaseDataForm(transport.responseJSON); },
			onComplete: function() { hideLoadingIndicator(); }
		});
	},
	updateBaseDataForm : function(json) {

		if ($('frm_base_data')){
			$('frm_base_data').select('.error').each(function(element){element.removeClassName('error');});
		}

		var message = new Element('strong').update('Bitte beantworten Sie die markierten Felder.');
		var p = new Element('p',{'class':'error'}).update(message);
		var ul = new Element('ul',{'class':'error'});

		for (var id in json) {
			for (var type in json[id]) {
				if (id == 'fe_user-privacy_accepted' || id == 'fe_user-agb_accepted' || type != 'isEmpty' || id == 'fe_user-passwd'){
					inser = new Insertion.Bottom(ul,'<li>'+json[id][type]+'</li>');
				}
			}
			if ($(id+'-label')){
				$(id+'-label').addClassName('error');
			}
		}
		inser = new Insertion.Bottom(p,ul);

		$('errors').update(p);
		$('errors').show();
	},

	sendRegisterMail : function ( link, email )  {
		link = $(link);
		try {
		new Ajax.Request( link.href,{
			parameters: 'email='+email,
			onCreate: function() {Global.showLoadingIndicator();},
			onSuccess: function( trans ) {
				Global.info('Ihre Registrierung',trans.responseJSON.msg);
			},
			onFailure: function( trans ) {
				Global.alert('Fehler',trans.responseJSON.msg);
			},
			onComplete: function() {Global.hideLoadingIndicator();}
		});
		}catch(e){ alert(e); }
		return false;
	},

	register : function(obj,loading){
		$(loading).show();
		obj = $(obj);
		obj.request({
			onSuccess: function(trans){
				document.location = trans.responseJSON.url;
			},
			onFailure: function(trans) {
				Global.alert('Registrierung - Fehler',trans.responseText);
			},
			onComplete: function() {$(loading).hide();}
		});
	}
};