// JavaScript Document tell a friend
jQuery.fn.fadeToggle = function(speed, easing, callback) {
	return this.animate({opacity: 'toggle'}, speed, easing, callback);  
};

$(document).ready(function() {
    $('#tellfriend').hide(); 
	
	$('#taf_success').hide();
	
    $('a.tellafriend, a.taf_close').click(function() {
   	 	$("#tellfriend").fadeToggle('slow');
  	});
	
	
	//click event für submit button
	$('.taf_form_but').click(function () {
   
		//Daten von den HTML Feldern in JS-Vars übersetzen
		var name = $('input[name=taf_name]').val();
		var from = $('input[name=taf_from]').val();
		var friend1 = $('input[name=taf_to1]').val();
		var friend2 = $('input[name=taf_to2]').val();
		var friend3 = $('input[name=taf_to3]').val();
		var message = $('textarea[name=taf_message]').val(); 
		
		var is_error = false;
		
		var errortext = "";
		
		if(name == "") {
			errortext = errortext + "Bitte geben Sie Ihren Namen an!\n";
			is_error = true;
		}
		
		if(from == "") {
			errortext = errortext +  "Bitte geben Sie Ihre E-Mail Adresse an!\n";
			is_error = true;
		}
		
		if(checkmail(from) == false){
			errortext = errortext +  "Ihre E-Mail Adresse scheint ungütig zu sein!\n";
			is_error = true;
		}
		
		if(friend1 == "" && friend2 == "" && friend3 == "") {
			errortext = errortext +  "Bitte geben Sie mindestens eine Empfängeradresse an!";
			is_error = true;
		}
		
		if(friend1 != "" && checkmail(friend1) == false){
			errortext = errortext +  "Die E-Mail Adresse ersten Empfängers scheint ungütig zu sein!\n";
			is_error = true;
		}
		
		if(friend2 != "" && checkmail(friend2) == false){
			errortext = errortext +  "Die E-Mail Adresse zweiten Empfängers scheint ungütig zu sein!\n";
			is_error = true;
		}
		
		if(friend3 != "" && checkmail(friend3) == false){
			errortext = errortext +  "Die E-Mail Adresse dritten Empfängers scheint ungütig zu sein!\n";
			is_error = true;
		}
	
		var data = 
		'name=' + name + 
		'&from=' + from +
		'&friend1=' + friend1 +
		'&friend2=' + friend2 +
		'&friend3=' + friend3 +
		'&wo=tellafriend' +
		'&message='  + encodeURIComponent(message);
		
		if(is_error == false) {
	   
			//alle Textfelder deaktivieren
			$('.taf_input').attr('disabled','true');
			
			//Button deaktivieren
			$('.taf_form_but').attr('disabled','true');
		   
			//Icon während des Requests einblenden
			$('.taf_loading_icon').show();
		   
			//Request abschicken
			$.ajax({
			  //Ort des Skriptes in dem die per GET übertragenen Daten verarbeitet werden sollen
			  url: "tellfriend.php",
			  //Angabe der GET Methode, auch POST wäre möglich. Allerdings nur sinnvoll bei größeren Datenmengen
			  type: "GET",
			  //Daten die gesendet werden sollen			
			  data: data,
		   
			  //bei Antwort des Requests (Response)
			  success: function (reqCode) {
			  //wenn tellfriend.php true bzw. den Status 1 zurückliefert
				  alert(reqCode);
				  if (reqCode==1) {
					  //ausblenden des Öffnungslinks
					  $("#taf_show").hide();
					  //verstecken des Formulars
					  $("#tellfriend").fadeToggle('slow');
					  
					  //anzeigen der Erfolgsmeldung
					  var successtext = 'Wir bedanken uns herzlich für die Empfehlung unserer Webseite. Ihre Empfehlungsnachricht wurde soeben erfolgreich an ';
					  
					  if(friend1 != "") {
						  successtext = successtext + friend1;
					  }
					  if(friend2 != "") {
						  if(friend1 != "") {
							  successtext = successtect +', ';
						  }
						  successtext = successtext + friend2;
					  }
					  if(friend3 != "") {
						  if(friend1 != ""|| friend2 != "") {
							  successtext = successtext + ' und ';
						  }
						  successtext = successtext + friend3;
					  }
					  
					  successtext = successtext + ' gesendet';
					  alert(successtext);
		   
				  //wenn der Request eine Form von false zurückschickt, Fehler ausgeben.
				  } else {
					  $("#tellfriend").fadeToggle('slow');
					  var errortext2 = 'Ihre Empfehlung konnte aufgrund eines Serverfehlers momentan leider nicht gesendet werden. Wir würden uns freuen, wenn Sie es zu einem späteren Zeitpunkt noch einmal versuchen würden.';
					  
					  alert(errortext2);
					  
				  }
			  }
		  });
		   
		} else {
			  alert(errortext);  
		}
	return false;
  });
}); 

function checkmail(email){
	filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/; 
	if (filter.test(email)) {   
		// Yay! valid   
		return true; 
	} else {
		return false;
	}
}
	
