
function submitDonation( form, params ) {

	values = getDonationValues( form );

	if( values['donationMode'] != 'debit' && values['donationMode'] != 'paypal' ) {
		
		alert( 'Bitte wählen Sie eine Zahlungsform aus (per Lastschrift oder Paypal)' );
		
	} else {

		processDonation( form, values, params );
		
	}
	
	return false;
}

function getDonationValues( form ) {

	var gender			= form.find( 'input[name=gender]:checked' ).val();
	var member			= form.find( 'input[name=member]:checked' ).val();
	var amount			= form.find( 'input[name=amount]:checked' ).val();
	var donationMode	= form.find( 'input[name=donationMode]:checked' ).val();
	var confirmDonation	= form.find( 'input[name=confirmDonation]:checked' ).val();

	var values = {
		'submit':			'submit', 
		'gender':			gender != undefined ? gender : '',
		'member':			member != undefined ? member : '',
		'amount':			amount != undefined ? amount : '',
		'donationMode':		donationMode != undefined ? donationMode : '',
		'confirmDonation':	confirmDonation != undefined ? confirmDonation : '',
	 	'firstname':		form.find( 'input[name=firstname]' ).val(),
	 	'lastname':			form.find( 'input[name=lastname]' ).val(),
		'address':			form.find( 'input[name=address]' ).val(),
		'postalCode':		form.find( 'input[name=postalCode]' ).val(),
		'location':			form.find( 'input[name=location]' ).val(),
		'email':			form.find( 'input[name=email]' ).val(),
		'phone':			form.find( 'input[name=phone]' ).val(),
		'memberNumber':		form.find( 'input[name=memberNumber]' ).val(),
		'freeAmount':		form.find( 'input[name=freeAmount]' ).val(),
		'accountNumber':	form.find( 'input[name=accountNumber]' ).val(),
		'bankCode':			form.find( 'input[name=bankCode]' ).val()
	};

	return values;
}

function processDonation( form, values, params ) {

	var selector	= '.ajaxMessages';
	var random		= Math.floor( Math.random() * 101 );
	var url			= document.URL; // + '?sid=' + random;
	url				= url + ' ' + selector;

	$.ajaxSetup( { 'timeout' : 5000 } );
	$('.donationMessages').load( url, values, function( responseText, textStatus, XMLHttpRequest ) {

		error = responseText.search( /info warning/ );

		if ( error == -1 ) {
		
			if( values['donationMode'] == 'paypal' )
				redirectToPaypal( values, params );
			else
				form.hide();
		} else {
			// alert('Hallo');
			// $('#introduction').animate( {scrollTop : 0 }, 'slow' );
			$('#fancybox-inner').scrollTo('#introduction');
	        return false;
		}

	});	

}

function redirectToPaypal( values, params ) {

	// Base URL
	var	url = 'https://www.paypal.com/cgi-bin/webscr';
	// Sandbox URL
	// var	url = 'https://www.sandbox.paypal.com/cgi-bin/webscr';
	
	// Format Free Amount for Paypal
	freeAmount = parseFloat( values['freeAmount'].replace( /,/, '.' ) );

	// Revalidate Free Amount
	if( isNaN(freeAmount) ) 
		freeAmount = '10.00';

	
	var amountValues	= { '1' : '10.00', '2' : '25.00', '3' : '50.00', '4' : freeAmount };
	var amount			= amountValues[ values['amount'] ];
	var donationUrl		= 'https://' + window.location.host + window.location.pathname;

	var parameters = {
		'amount'		: amount,
		'business'		: params['business'],
		'item_name'		: params['item_name'],
		'image_url'		: params['image_url'],
		'cmd'			: '_xclick',
		'lc'			: 'DE',
		'no_shipping'	: '1',
		'no_note'		: '1',
		'tax'			: '0',
		'currency_code' : 'EUR',
		'return'		: donationUrl + '/action/confirm',
		'cancel_return'	: donationUrl,
		'email'			: values['email'],
		'first_name'	: values['firstname'],
		'last_name'		: values['lastname'],
		'address1'		: values['address'],
		'city'			: values['location'],
		'zip'			: values['postalCode']
	}

	var iterator	= 0;
	var separator = '?';
	
	$.each( parameters, function( key, value ) { 
	
		// Change Separator after first loop
		if( iterator == 1 ) separator = '&';
		// Append Parameter to Url
		url += separator + $.URLEncode(key) + '=' + $.URLEncode(value);
		// Increment Iterator
		iterator++;
	} );

	window.location.href = url;
	
}

function redirectClosedFancyBox( url ) {
	
	window.location.href = url; 
}

$(document).ready(function() {

	$('#freeAmount').focus( function() {
		
		if( $('#freeAmount').value != '' ) {
			$('#amount4').attr( 'checked', 'checked' );
		}

	});
	// put all your jQuery goodness in here.

});


