//dom is ready
$(window).ready(
	function () {
		//hide success element
		if($('#basketSuccess') != undefined) {
			$('#basketSuccess').hide();
		}
		
		//basket form is on the current page
		if($('#basketFormForm') != undefined) {
			//submit event
			$('#basketFormForm').submit(
				function(){
					//test for valid email address
					var email_test = /^([a-zA-Z0-9_.-@])+$/;
		
					var email = document.forms.basketForm.basketFormEmail.value;
					
					if (email.length > 0) {
						var at = email.indexOf("@")
						var stop = email.lastIndexOf(".")
						
						
						if (((at == -1 || stop == -1) || stop < at || stop > email.length - 3 || stop == at + 1) || !email_test.test(email)) {
							//bad email address
							$('#basketFormError').text('Email address is not valid');
						    $('#basketFormError').show();
						} else {
							//good address
							$.ajax({
								type: 'POST',
								url: '/userevents/email',
								data: $('#basketFormForm').serialize(),
								cache: false,
								error: function(o, s, e){
									$('#basketFormError').text('Error, could not send');
									$('#basketFormError').show();
								},
								success: function(d, s){
									$('#basketForm').hide();
									$('#basketSuccess').text('Success! Your experience has been sent');
									$('#basketSuccess').show();
								},
								beforeSend: function(o){
									$('#basketFormEmail').attr('disabled', 'disabled');
									$('#basketFormSubmit').attr('disabled', 'disabled');
								},
								complete: function(o, s){
									$('#basketFormEmail').removeAttr('disabled');
									$('#basketFormSubmit').removeAttr('disabled');
									document.forms.basketForm.basketFormEmail.value = '';
								}
							});
						}
					} else {
						//email is empty
						$('#basketFormError').text('Email address field is empty');
						$('#basketFormError').show();
					}
					
					//prevent submitting
					return false;
				}
			);	
		}
	}
);

var basketFormSend = function () {
	return false;
}