/******************

$('a[rel=ajaxPost]').live('click', function(){
	var target, pageURL, dataString, method, expectedAnswer;
	
THE TARGET ELEMENT --> FORM ELEMENT
	target			= '#container';
	
THE URL FOR THE AJAX HIT
	pageURL			= '/ajax/pageToLoad.php';
	
THE DATA --> WELLICHT DOOR THIS.SERIALIZE LATEN VERVANGEN!!!!
	dataString		= 'firstName=trc2001vac@yahoo.co.uk';
	
POST METHOS
	method			= 'post';
	
WELK ANTWOORDT MOET ER KOMEN VOOR EEN OK
	expectedAnswer	= 'Hello';
	
AANROEPEN
	ajaxHit( pageURL, target, method, expectedAnswer );
	
	return false;
});

******************/
var debug = false;

function startPost( target ){
	var span	= '<span class="loader" />';
	$.each($('.formError'), function(){
		$(this).removeClass('formError');
	});
	$(target + ' .feedback').remove();
	$(target + ' .error').remove();
	$(target).append(span);
//	$( target + ' input[type = submit]').attr('disabled', 'disabled');
	$( target + ' input' ).each(function(){
		$(this).attr('disabled', 'disabled');
	});
	$( target + ' textarea' ).each(function(){
		$(this).attr('disabled', 'disabled');
	});
	if( debug ) {
		console.log('added');
	}
}

function ajaxHit( pageURL, target, method, expectedAnswer ) {
	var dataStream = $( target ).serialize();
	startPost( target );
	$.ajax({
		url:		pageURL,
		type:		method,
		dataType:	'json',
		data:		dataStream,
		success:	function( result ){
			if( result.text == expectedAnswer ){
				$(target + ' .loader').remove();
				$(target).append('<span class="feedback ok">Aangemeld!</span>');
				setTimeout(function(){
					$(target + ' .close').trigger('click');
				}, 3000);
			} else {
				stopPost( target );
				$.each(result.element, function(key, value){
					$( target + ' [name=' + value  + ']').addClass('formError');
				});

				$(target).append('<span class="feedback error">' + result.text + '</span>');
			}
			if( debug ) {
				console.log( 'retuned value = ' + result );
			}
		}, error: function(result){

			stopPost( target );

			if( debug ) {
				console.log( 'retuned value = ' + result );
			}
			$(target).append('<span class="feedback error">Undefiened error!</span>');
		}
	});
	if( debug ) {
		console.log('post');
	}
}

function stopPost( target ){
	$(target + ' .loader').remove();

	$( target + ' input' ).each(function(){
		$(this).removeAttr('disabled');
	});
	$( target + ' textarea' ).each(function(){
		$(this).removeAttr('disabled');
	});

	if( debug ) {
		console.log('removed');
	}
}
