var options = { 
        //target:        '#output1',   // target element(s) to be updated with server response 
        beforeSubmit:  validate,  // pre-submit callback 
		//timeout: 10000,
		error: showError,
		success:       showResponse  // post-submit callback 
		
        // other available options: 
        //url:       url         // override for form's 'action' attribute 
        //type:      type        // 'get' or 'post', override for form's 'method' attribute 
        //dataType:  null        // 'xml', 'script', or 'json' (expected server response type) 
        //clearForm: true        // clear all form fields after successful submit 
        //resetForm: true        // reset the form after successful submit 
 
        // $.ajax options can be used here too, for example: 
        //timeout:   3000 
    };

// prepare the form when the DOM is ready 
jQuery(document).ready(function() {  
    // bind form using 'ajaxForm' 
    jQuery('#ajaxForm').ajaxForm(options); 
}); 

function showError()  {
	alert('Wystąpił błąd!');
} 
 
function showResponse(responseText, statusText, xhr, $form)  { 
	//alert(responseText);
	
	if(responseText == 'OK_RESERVD_PL') {
		jQuery("#ajaxForm").remove();
		jQuery(".Content").append("Dziękujemy za dokonanie rezerwacji. Wkrótce sie z Tobą skontaktujemy.");
	} else if(responseText == 'OK_RESERVD_DE') {
		jQuery("#ajaxForm").remove();
		jQuery(".Content").append("Wir bedanken uns für die vorgenommene Buchung. Wir setzen uns umgehend mit Ihnen in Verbindung.");
	} else if(responseText == 'OK_RESERVD_EN') {
		jQuery("#ajaxForm").remove();
		jQuery(".Content").append("Thank you for making your reservation. We will son get back to you.");
	} else if(responseText == 'OK_RESERVD_FR') {
		jQuery("#ajaxForm").remove();
		jQuery(".Content").append("Merci d’avoir effectué votre réservation. Nous prendrons prochainement contact avec vous.");
	} else if(responseText == 'OK_MAIL_PL') { 
		jQuery("#ajaxForm").remove();
		jQuery(".Content").append("Dziękujemy za wysłanie wiadomości.");
	} else if(responseText == 'OK_MAIL_DE') { 
		jQuery("#ajaxForm").remove();
		jQuery(".Content").append("Wir bedanken uns für Ihre Nachricht.");
	} else if(responseText == 'OK_MAIL_EN') { 
		jQuery("#ajaxForm").remove();
		jQuery(".Content").append("Thank you for sending the information.");
	} else if(responseText == 'OK_MAIL_FR') { 
		jQuery("#ajaxForm").remove();
		jQuery(".Content").append("Merci pour l’envoi de l’information.");
	} else if(responseText == 'ERROR_PL') { 
		alert("Wystąpił nieoczekiwany błąd. Za problemy przepraszamy.");
	} else if(responseText == 'ERROR_DE') { 
		alert("Es ist ein Fehler aufgetreten. Wir bitten um Entschuldigung.");
	} else if(responseText == 'ERROR_EN') { 
		alert("An error has occured. Please accept our apologies.");
	} else if(responseText == 'ERROR_FR') { 
		alert("Une erreur est survenue. Veuillez nous en excuser.");
	} else if(responseText == 'ERROR_AGAIN_MAIL_PL') { 
		alert("Twoja wiadomość została już wysłana.");
	} else if(responseText == 'ERROR_AGAIN_MAIL_DE') { 
		alert("Ihre Nachricht  wurde bereits versendet.");
	} else if(responseText == 'ERROR_AGAIN_MAIL_EN') { 
		alert("Your request has been sent.");
	} else if(responseText == 'ERROR_AGAIN_MAIL_FR') { 
		alert("Votre demande a été envoyée.");
	} else {
		alert("Wystąpił nieoczekiwany błąd. Za problemy przepraszamy. Es ist ein Fehler aufgetreten. Wir bitten um Entschuldigung. An error has occured. Please accept our apologies. Une erreur est survenue. Veuillez nous en excuser. (ERROR)");
	}
} 

function validate(formData, jqForm, options) { 
	//var queryString = jQuery.param(formData); 
	//	alert(queryString); 	
	var form = jqForm[0];
	var lang = jQuery("#ajaxForm").attr("lang");
	
	if(form.przy_date_act) {
		if(form.przy_date_act.value == 'Data przyjazdu') {
			if(lang == 'pl') {
				alert("Wybierz datę przyjazdu.");
			} else if(lang == 'de') {
				alert("Geben Sie bitte das Anreisedatum an.");
			} else if(lang == 'en') {
				alert("Select date of arrival.");
			} else if(lang == 'fr') {
				alert("Choisir la date d’arrivée.");
			}
			return false;
		}
		
		if(form.wyj_date_act.value == 'Data wyjazdu') {
			if(lang == 'pl') {
				alert("Wybierz datę wyjazdu.");
			} else if(lang == 'de') {
				alert("Geben Sie bitte das Abreisedatum an.");
			} else if(lang == 'en') {
				alert("Select date of departure.");
			} else if(lang == 'fr') {
				alert("Choisir la date de départ.");
			}
			return false;
		}
		
		var date1 = form.przy_date_act.value;
		date1 = date1.split("-");
		
		var date2 = form.wyj_date_act.value;
		date2 = date2.split("-");
		
		if(date1[0] > date2[0] || (date1[1] > date2[1] && date1[0] == date2[0]) || (date1[2] > date2[2] && date1[1] == date2[1] && date1[0] == date2[0])) {
			if(lang == 'pl') {
				alert("Data wyjazdu nie może być wcześniejsza niż data przyjazdu.");
			} else if(lang == 'de') {
				alert("Das Abreisedatum darf nicht vor dem Anreisedatum liegen.");
			} else if(lang == 'en') {
				alert("of departure cannot be prior to date of arrival.");
			} else if(lang == 'fr') {
				alert("La date de départ ne peut être antérieure à la date d’arrivée.");
			}
			return false; 
		} else if (date1[2] == date2[2] && date1[1] == date2[1] && date1[0] == date2[0]) {
			if(lang == 'pl') {
				alert("Termin przyjazdu i wyjazdu nie może odbywać się jednego dnia.");
			} else if(lang == 'de') {
				alert("Die An- und Abreise dürfen nicht an gleichem Tag stattfinden.");
			} else if(lang == 'en') {
				alert("Arrival and departure cannot take place on the same day.");
			} else if(lang == 'fr') {
				alert("L’arrivée et le départ ne peuvent avoir lieu le même jour.");
			}
			return false;
		}
		
		if(isNaN(form.fOsob.value)) { 
			if(lang == 'pl') {
				alert('Błędnie wprowadzona ilość osób.');
			} else if(lang == 'de') {
				alert('Die Anzahl der Personen wurde falsch eingetragen.');
			} else if(lang == 'en') {
				alert('Wrong entry. Check number of guests.');
			} else if(lang == 'fr') {
				alert('Vérifier le nombre de personnes.');
			}			
			return false;
		}
	}
	
    for (var i=0; i < formData.length; i++) {  
			if(formData[i].name == 'fTresc') continue;
			if(formData[i].value == 'Imię i nazwisko' || formData[i].value == 'Telefon') {
				if(lang == 'pl') {
					 alert("Wypełnji wszystkie pola.");
				} else if(lang == 'de') {
					 alert("Bitte füllen Sie alle Felder aus.");
				} else if(lang == 'en') {
					 alert("Fill all spaces.");
				} else if(lang == 'fr') {
					 alert("Compléter tous les champs.");
				}	
				return false; 
			}
    }
	
	if(!validateEmail(form.fEmail.value,lang)) { return false; }
}

function validateEmail(email,lang) {
   var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
   if(reg.test(email) == false) {
	if(lang == 'pl') {
		alert('Błędny adres e-mail.');
	} else if(lang == 'de') {
		alert('Falsche E-Mail-Adresse.');
	} else if(lang == 'en') {
		alert('Wrong email address.');
	} else if(lang == 'fr') {
		alert('Adresse email incorrecte.');
	}
      return false;
   } else return true;
}
