
/**
 * development js
 */
function catchFormSubmit() {
	if (location.search.substring(1, location.search.length).match(/debug=1/g)) {
		return false;
	}
	$$('form[method=post]').each(function(el) {
		$(el).submit = function(e) {
			$(this).set('send', {
				url: $(this).getProperty('action'), 
				method: 'post',
				headers: {
					'X-CallType': 'ajax'				
				},
				onComplete: function(result) {
					if ($(el).getProperty('onsubmit')) {
						var s = '';
						var cmd = s.concat($(el).getProperty('onsubmit'), '(\'', Base64.encode(result), '\')');
						eval(cmd);
					} else {
						handleFormResponse(Base64.encode(result));
					}
				}
			});
			$(this).send();
		}
		$$(el).getElements('input[type=submit]').each(function(btn) {
			btn.addEvent( 'click', function(evt){
				// Stops the submission of the form.
				new Event(evt).stop();
				el.submit();
				return false;
			});
		});
	});
	return false;
}

function catchLogout() {
	if (!$('logout')) return;
	
	$('logout').addEvent('click', function(){
		var logout = new Request({
			method: 'post', 
			url: '/inloggen',
			onComplete: function(result) {
				window.location.reload();
			}
		}).send('action=ajax&subaction=logout');
	});
}

function customCallback(result) {
	// proof of concept
	handleFormResponse(result);
}
function handleFormResponse(result) {
	var str = '';
	try {
		var obj = new JSON.decode(Base64.decode(result));
		str = str.concat('success: ', obj.success, '\nfields: ', obj.fields);
	} catch(e) {
		var str = str.concat('error: ', Base64.decode(result).replace(/<[^>]*?>/g, ' '));
	}
}

function f3_form_registration_handler(result) {
	var obj = new JSON.decode(Base64.decode(result));
	if (obj.success == true) {
		// deze aktie
	} else {
		console.log(obj.fields);
		for (i=0; i<obj.fields.length; i++) {
			console.log(obj.fields[i]);	
		}
	}
}