
/****************
 Options
****************/
var bestellung_fields_regex = new Array();
bestellung_fields_regex['mail'] = new RegExp("[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])+", "i");
bestellung_fields_regex['vorname'] = new RegExp("^[^0-9]+$");
bestellung_fields_regex['nachname'] = new RegExp("^[^0-9]+$");
bestellung_fields_regex['plz'] = new RegExp("^[0-9]{5}$");
bestellung_fields_regex['ort'] = new RegExp("^[^0-9]+$", "i");
bestellung_fields_regex['kontonummer'] = new RegExp("^[0-9]{5,10}$");
bestellung_fields_regex['bankleitzahl'] = new RegExp("^[0-9]{8}$");
bestellung_fields_regex['konto_vorname'] = new RegExp("^[^0-9]+$");
bestellung_fields_regex['konto_nachname'] = new RegExp("^[^0-9]+$");


/****************
 START FUNCTIONS
****************/

function in_array ( item, arr ) {
	for ( p=0; p<arr.length; p++ ) if ( item == arr[p] ) return true;
	return false;
}

/**
 * Buy Form Enable Function used by Fancybox Eval
 */
function bestellung_formularFieldVal ( name, val, css ) {
	$('input[name="'+name+'"]')
		.focus( function () {
			if ( $(this).hasClass(css) ) {
				$(this).removeClass(css).val('');
			}
		})
		.blur( function () {
			if ( $(this).val() == '' ) {
				$(this).addClass(css).val(val);
			}
		})
		.addClass(css).val(val);
}
var bestellung_ajax_request_send = false;
function bestellung_formularBuyEnable () {
	bestellung_formularFieldVal( 'vorname', 'Vorname', 'bestellung-form-default' );
	bestellung_formularFieldVal( 'nachname', 'Nachname', 'bestellung-form-default' );
	bestellung_formularFieldVal( 'konto_vorname', 'Vorname', 'bestellung-form-default' );
	bestellung_formularFieldVal( 'konto_nachname', 'Nachname', 'bestellung-form-default' );
	$('#payment-paypal').hide();
	$('form#form-buy input[name="zahlungsart"]').change( function () {
		var payment = $('form#form-buy input[name="zahlungsart"]:checked').val();
		if ( payment == 'Lastschrift' ) {
			$('#payment-paypal').hide();
			$('#payment-lastschrift').show();
		} else if ( payment == 'Paypal' ) {
			$('#payment-lastschrift').hide();
			$('#payment-paypal').show();
		}
	});
	$('form#form-buy').submit( function () {
		if ( !bestellung_ajax_request_send ) {
			bestellung_ajax_request_send = true;
			var form_data = '';
			// Check Errors
			var lastschrift_fields = Array( 'kontonummer', 'bankleitzahl', 'bankname', 'konto_vorname', 'konto_nachname' );
			var groupon_fields = Array( 'gutschein_code', 'sicherheits_code' );
			var error = false;
			var this_val;
			$('input').removeAttr('bestellung-form-error');
			$('form#form-buy input[type="text"]').each( function () {
				if ( ( $('input[name="zahlungsart"]:checked').val() == 'Lastschrift' || ( $('input[name="zahlungsart"]:checked').val() != 'Lastschrift' && !in_array( $(this).attr('name'), lastschrift_fields ) ) )
				&& ( $('input[name="zahlungsart"]:checked').val() == 'Groupon' || ( $('input[name="zahlungsart"]:checked').val() != 'Groupon' && !in_array( $(this).attr('name'), groupon_fields ) ) ) ) {
					if ( $(this).val() == '' || $(this).hasClass('bestellung-form-default') ) {
						$(this).addClass('bestellung-form-error').change( function() { $(this).removeClass('bestellung-form-error'); } );
						error = true;
					} else {
						if ( typeof bestellung_fields_regex[$(this).attr('name')] != 'undefined' ) {
							this_val = $(this).val();
							if ( $(this).attr('name') == 'kontonummer' || $(this).attr('name') == 'bankleitzahl' ) {
								this_val = this_val.replace(/[ \/-]/g,'');
							}
							if ( bestellung_fields_regex[$(this).attr('name')].exec( this_val ) === null ) {
								$(this).addClass('bestellung-form-error').change( function() { $(this).removeClass('bestellung-form-error'); } );
								error = true;
							} else {
								form_data += '&'+$(this).attr('name')+'='+$(this).val();
							}
						} else {
							form_data += '&'+$(this).attr('name')+'='+$(this).val();
						}
					}
				}
			});
			if ( typeof $('input[name="check_agb"]:checked').val() == 'undefined' ) {
				$('input[name="check_agb"]').change( function() { $(this).parent().removeClass('bestellung-form-error'); } ).parent().addClass('bestellung-form-error');
				error = true;
			} else {
				form_data += '&check_agb='+$('input[name="check_agb"]:checked').val();
			}
			form_data += '&land='+$('select[name="land"]').val();
			form_data += '&anrede='+$('input[name="anrede"]:checked').val()+'&zahlungsart='+$('input[name="zahlungsart"]:checked').val();
			if ( error ) { bestellung_ajax_request_send = false; return false; }
			// Ajax Submit
			$.fancybox.showActivity(true);
			$('#fancybox-close').hide();
			$.ajax({
				url: pfad_global+'module/bestellung_ajax_submit.php?form=buy',
				type: 'post',
				data: form_data,
			//	datatype: 'json',
				success: function ( data ) {
					
					//alert(data);
					
					if ( data == 'error_need_login' ) {
						bestellung_ajax_request_send = false;
						$.fancybox.hideActivity();
						alert('Du musst dich erst einloggen.');
						window.location.href = window.location.href;
					} else if ( data == 'error_already_bought' ) {
						$.ajax({
							url: pfad_global+'module/bestellung_forms.php?p=bought',
							success: function (html) {
								bestellung_ajax_request_send = false;
								$.fancybox.hideActivity();
								$('#fancybox-content').fadeTo( 500, 0, function () {
									$('#fancybox-content').html(html).fadeTo( 500, 1 );
								});
								$('#fancybox-close').show();
							},
							error: function () {
								bestellung_ajax_request_send = false;
								$.fancybox.hideActivity();
								$('#fancybox-close').show();
								alert('Server Error.');
							}
						});
					} else if ( data == 'success' ) {
						$.ajax({
							url: pfad_global+'module/bestellung_forms.php?p=suc',
							success: function (html) {
								bestellung_ajax_request_send = false;
								$.fancybox.hideActivity();
								$('#fancybox-content').fadeTo( 500, 0, function () {
									$('#fancybox-content').html(html).fadeTo( 500, 1 );
								});
								$('#fancybox-close').show();
							},
							error: function (err) {
								bestellung_ajax_request_send = false;
								$.fancybox.hideActivity();
								$('#fancybox-close').show();
								alert('Server Error.');
							}
						});
					} else if ( data == 'success_paypal' ) {
						$.ajax({
							url: pfad_global+'module/bestellung_forms.php?p=ppal',
							success: function (html) {
								bestellung_ajax_request_send = false;
								$.fancybox.hideActivity();
								$('#fancybox-content').fadeTo( 500, 0, function () {
									$('#fancybox-content').html(html).fadeTo( 500, 1 );
								});
							},
							error: function (err) {
								bestellung_ajax_request_send = false;
								$.fancybox.hideActivity();
								$('#fancybox-close').show();
								alert('Server Error.');
							}
						});
					} else if ( data == 'success_groupon' ) {
						$.ajax({
							url: pfad_global+'module/bestellung_forms.php?p=suc&groupon',
							success: function (html) {
								bestellung_ajax_request_send = false;
								$.fancybox.hideActivity();
								$('#fancybox-content').fadeTo( 500, 0, function () {
									$('#fancybox-content').html(html).fadeTo( 500, 1 );
								});
								$('#fancybox-close').show();
							},
							error: function (err) {
								bestellung_ajax_request_send = false;
								$.fancybox.hideActivity();
								$('#fancybox-close').show();
								alert('Server Error.');
							}
						});
					} else {
						bestellung_ajax_request_send = false;
						$.fancybox.hideActivity();
						alert('Server Error.');
						$('#fancybox-close').show();
					}
				},
				error: function (err) {
					bestellung_ajax_request_send = false;
					$.fancybox.hideActivity();
					$('#fancybox-close').show();
					alert('Server Error.');
				}
			});
		}
		return false;
	});
}

/**
 * jQuery onLoad
 */
$( function () {
	
	$('#button-buy').fancybox({
		padding : 25,
		borderColor : '#999',
		hideOnOverlayClick : false,
		enableEscapeButton : false,
		overlayColor : '#000',
		overlayOpacity : 0.8,
		href : pfad_global+'module/bestellung_forms.php',
		customEval : "bestellung_formularBuyEnable();",
		'onComplete': function() {
      		$("#fancybox-wrap").css({'top':'0px', 'margin-left':'0px'});
   		}
	});
	
	// ####### ZUM AKTIVIEREN DIESEN KOMMENTAR ENTFERNEN
	$('#button-buy-groupon').fancybox({
		padding : 25,
		borderColor : '#999',
		hideOnOverlayClick : false,
		enableEscapeButton : false,
		overlayColor : '#000',
		overlayOpacity : 0.8,
		href : pfad_global+'module/bestellung_forms.php?groupon',
		customEval : "bestellung_formularBuyEnable();",
		'onComplete': function() {
      		$("#fancybox-wrap").css({'top':'0px', 'margin-left':'0px'});
   		}
	});
	
});
