var is_kundenkarte = true;
var user_exists = false;

function sendRedirectWithLocation(link) {
	window.location.href = link;
}

function field_border(field) {
	field.css("border", "1px dotted #ff0000");
}

function no_border(field) {
	field.css("border", "none");
}

$(document).ready(function() {
	
	// Validierung zweier Felder (gleiche Eingabe)
	function sameValue(field1_id, field2_id) {
		var field = $("#cc #" + field1_id).val();
		var field_wdh = $("#cc #" + field2_id).val();
		return (field == field_wdh);
	}
	
	// Fehler *message* anzeigen in div mit id *error_field_id* anzeigen
	function displayError(error_field_id, message) {
		$("#cc #" + error_field_id).text(message);
		$("#cc #" + error_field_id).show();
		return true;
	}
	
	// Fehler-Div *error_field_id* ausblenden
	function hideError(error_field_id) {
		$("#cc #" + error_field_id).text("");
		//$("#cc #" + error_field_id).slideUp();
	}
	
	function checkEmail(email) {
		var filter = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;
		return filter.test(email);
	}
	
	function markField(field) {
		field.addClass("error_input");
	}

	function unmarkField(field) {
		field.removeClass("error_input");
	}
	
	// Felder validieren und ggf Fehlermeldung anzeigen
	$("#cc #button_profil_anlegen").click(function() {
		if (!(sameValue("passwort", "passwort_wdh"))) {
			displayError("register_form_fehler", kundenkarte_login_passwort_errortext);
		} else {
			hideError("register_form_fehler");
		}
	});
	
	$("#cc #register_form_new_pw #passwort_wdh").blur(function() {
		if (!(sameValue("passwort", "passwort_wdh"))) {
			markField($("#cc #passwort"));
			markField($("#cc #passwort_wdh"));
			displayError("register_form_fehler", kundenkarte_login_passwort_errortext);
		} else {
			unmarkField($("#cc #passwort"));
			unmarkField($("#cc #passwort_wdh"));
			hideError("register_form_fehler");
		}
		
		if(!($("#cc #passwort").val().length > 5 && $("#cc #passwort_wdh").val().length > 5)) {
			displayError("register_form_fehler", kundenkarte_registrierung_error_passwort);
			markField($("#cc #passwort"));
			markField($("#cc #passwort_wdh"));
		}
	});
	
	var error_stack_reg1 = 0;
	// Validierung Registrierung Schritt 1 (E-Mail)
	$("#cc .col2_wide #email_address").blur(function() {
		pruefBenutzerStatus("benutzererror");
		
		if($(this).val() != "") {
			var no_error_format1 = false;
			var no_error_same1 = false;
			
			if(!( checkEmail($("#cc #email_address").val()))) {
				markField($("#cc #email_address"));
				field_border($("#reg_s1"));
				displayError("register_email_fehler", kundenkarte_login_passwortvergessen_emailerrortext);
				$("#cc #button_registrierung1").addClass("disabled");
				$("#cc #button_registrierung1").attr("disabled", "disabled");
				error_stack_reg1 += 1;
			} else {
				hideError("register_email_fehler");
				no_error_format1 = true;
				error_stack_reg1 -= 1;
				unmarkField($("#cc #email_address"));
				if(error_stack_reg1 == 0) {
					no_border($("#reg_s1"));
				}
			}
		}
	});
	
	// Validierung Registrierung Schritt 1 (E-Mail Wdh.)
	$("#cc #email_address_wdh").blur(function() {
		if($(this).val() != "") {
			var no_error_format = false;
			var no_error_same = false;
			
			if(!(checkEmail($("#cc #email_address_wdh").val()))) {
				markField($("#cc #email_address"));
				markField($("#cc #email_address_wdh"));
				field_border($("#reg_s1"));
				displayError("register_email_fehler", kundenkarte_login_passwortvergessen_emailerrortext);
				$("#cc #button_registrierung1").addClass("disabled");
				$("#cc #button_registrierung1").attr("disabled", "disabled");
				error_stack_reg1 += 1;
			} else {
				hideError("register_email_fehler");
				no_error_format = true;
				error_stack_reg1 -= 1;
			}
			
			if (!(sameValue("email_address", "email_address_wdh"))) {
				field_border($("#reg_s1"));
				displayError("register_email_fehler2", kundenkarte_registrierung_error_wdhemailadresse);
				$("#cc #button_registrierung1").addClass("disabled");
				$("#cc #button_registrierung1").attr("disabled", "disabled");
				error_stack_reg1 += 1;
			} else {
				error_stack_reg1 -= 1;
				hideError("register_email_fehler2");
				no_error_same = true;
			}
			
			if(no_error_format && no_error_same && !user_exists) {
				if(error_stack_reg1 <= 0) {
					error_stack_reg1 = 0;
					no_border($("#reg_s1"));
					$("#cc #button_registrierung1").removeClass("disabled");
					$("#cc #button_registrierung1").removeAttr("disabled", "disabled");
					unmarkField($("#cc #email_address"));
					unmarkField($("#cc #email_address_wdh"));
				}
			}
		}
	});
	
	$("#cc #register_form_login #passwort_wdh").blur(function() {
		if (!(sameValue("passwort", "passwort_wdh"))) {
			displayError("register_form_fehler2", kundenkarte_login_passwort_errortext);
			field_border($("#register_form_fehler2"));
			markField($("#cc #passwort"));
			markField($("#cc #passwort_wdh"));
		} else {
			hideError("register_form_fehler2");
			no_border($("#register_form_fehler2"));
			unmarkField($("#cc #passwort"));
			unmarkField($("#cc #passwort_wdh"));
		}
		
		if(!($("#cc #passwort").val().length > 5)) {
			field_border($("#register_form_fehler2"));
			displayError("register_form_fehler2", kundenkarte_registrierung_error_passwort);
			markField($("#cc #passwort"));
			markField($("#cc #passwort_wdh"));
		}
	});
	
	$("#cc #register_form_login #passwort").blur(function() {
		if(!($("#cc #passwort").val().length > 5)) {
			field_border($("register_form_fehler2"));
			displayError("register_form_fehler2", kundenkarte_registrierung_error_passwort);
			markField($("#cc #passwort"));
		} else {
			hideError("register_form_fehler2");
			no_border($("register_form_fehler2"));
			unmarkField($("#cc #passwort"));
			unmarkField($("#cc #passwort_wdh"));
		}
	});
	
	
	$("#cc #passwort").blur(function() {
		if(!($("#cc #passwort").val().length > 5)) {
			displayError("register_form_fehler2", kundenkarte_registrierung_error_passwort);
			markField($("#cc #passwort"));
			field_border($("#cc #register_form_fehler2"));
		} else {
			unmarkField($("#cc #passwort"));
		}
	});
	
	$("#cc #passwort_wdh").blur(function() {
		var same_val = true;
		var same_len = true;
		if (!(sameValue("passwort", "passwort_wdh"))) {
			same_val = false;
			$("#cc #register_form_fehler2").hide();
			displayError("register_form_fehler2", kundenkarte_login_passwort_errortext);
			markField($("#cc #passwort"));
			markField($("#cc #passwort_wdh"));
			field_border($("#cc #register_form_fehler2"));
		} else {
			same_val = true;
		}
		
		if(!($("#cc #passwort").val().length > 5 && $("#cc #passwort_wdh").val().length > 5)) {
			same_len = false;
			displayError("register_form_fehler2", kundenkarte_registrierung_error_passwort);
			markField($("#cc #passwort"));
			markField($("#cc #passwort_wdh"));
			field_border($("#cc #register_form_fehler2"));
		} else {
			same_len = true;
		}
		
		if(same_len && same_val) {
			unmarkField($("#cc #passwort"));
			unmarkField($("#cc #passwort_wdh"));
			no_border($("#cc #register_form_fehler2"));
			hideError("register_form_fehler2");
		}
	});
	
	
	// Passwort neu generieren
	$("#cc #register_form_new_pw #loginuserpassword_pw").blur(function() {
		if(!($("#cc #loginuserpassword_pw").val().length > 5)) {
			displayError("register_form_new_pw_fehler #fehler2", kundenkarte_registrierung_error_passwort);
			markField($("#cc #loginuserpassword_pw"));
			field_border($("#cc #register_form_new_pw_fehler"));
			$("#cc #button_passwort_generieren").addClass("disabled");
			$("#cc #button_passwort_generieren").attr("disabled", "disabled");
		} else {
			//hideError("register_form_new_pw_fehler #fehler2");
		}
	});
	
	
	$("#cc #register_form_new_pw #loginuserpasswordWDH").blur(function() {
		var same_val = false;
		var not_too_short = false;
		
		if (!(sameValue("loginuserpassword_pw", "loginuserpasswordWDH"))) {
			field_border($("#cc #register_form_new_pw_fehler"));
			same_val = false;
			displayError("register_form_new_pw_fehler #fehler1", kundenkarte_login_passwort_errortext);
			markField($("#cc #loginuserpassword_pw"));
			markField($("#cc #loginuserpasswordWDH"));
		} else {
			same_val = true;
			hideError("register_form_new_pw_fehler #fehler1");
		}
		
		if(!($("#cc #loginuserpassword_pw").val().length > 5 && $("#cc #loginuserpasswordWDH").val().length > 5)) {
			field_border($("#cc #register_form_new_pw_fehler"));
			not_too_short = false;
			displayError("register_form_new_pw_fehler #fehler2", kundenkarte_registrierung_error_passwort);
			markField($("#cc #loginuserpassword_pw"));
			markField($("#cc #loginuserpasswordWDH"));
		} else {
			not_too_short = true;
			hideError("register_form_new_pw_fehler #fehler2");
		}
		
		if(same_val && not_too_short) {
			unmarkField($("#cc #loginuserpassword_pw"));
			unmarkField($("#cc #loginuserpasswordWDH"));
			hideError("register_form_new_pw_fehler #fehler1");
			hideError("register_form_new_pw_fehler #fehler2");
			$("#cc #button_passwort_generieren").removeClass("disabled");
			$("#cc #button_passwort_generieren").removeAttr("disabled");
			no_border($("#cc #register_form_new_pw_fehler"));
		} else {
			$("#cc #button_passwort_generieren").addClass("disabled");
			$("#cc #button_passwort_generieren").attr("disabled", "disabled");
		}
	});
	
	
	// Login anlegen
	$("#cc #register_form_new_register #loginuserpassword_login_anlegen").blur(function() {
		if(!($("#cc #loginuserpassword_login_anlegen").val().length > 5)) {
			displayError("register_form_fehler", kundenkarte_login_error_passwort);
			markField($("#cc #loginuserpassword_login_anlegen"));
			field_border($("#cc #register_form_fehler"));
			$("#cc #button_profil_anlegen2").addClass("disabled");
			$("#cc #button_profil_anlegen2").attr("disabled", "disabled");
		} else {
			unmarkField($("#cc #loginuserpassword_login_anlegen"));
		}
	});
	
	
	$("#cc #register_form_new_register #loginuserpasswordWDH_login_anlegen").blur(function() {
		var same_val = false;
		var not_too_short = false;
		
		if (!(sameValue("loginuserpassword_login_anlegen", "loginuserpasswordWDH_login_anlegen"))) {
			same_val = false;
			$("#cc #register_form_fehler").hide();
			displayError("register_form_fehler", kundenkarte_login_passwort_errortext);
			markField($("#cc #loginuserpassword_login_anlegen"));
			markField($("#cc #loginuserpasswordWDH_login_anlegen"));
			field_border($("#cc #register_form_fehler"));
			$("#cc #button_profil_anlegen2").addClass("disabled");
			$("#cc #button_profil_anlegen2").attr("disabled", "disabled");
		} else {
			same_val = true;
			hideError("register_form_fehler");
			unmarkField($("#cc #loginuserpassword_login_anlegen"));
			unmarkField($("#cc #loginuserpasswordWDH_login_anlegen"));
		}
		
		if(!($("#cc #loginuserpassword_login_anlegen").val().length > 5 && $("#cc #loginuserpasswordWDH_login_anlegen").val().length > 5)) {
			not_too_short = false;
			displayError("register_form_fehler", kundenkarte_login_error_passwort);
			markField($("#cc #loginuserpassword_login_anlegen"));
			markField($("#cc #loginuserpasswordWDH_login_anlegen"));
			field_border($("#cc #register_form_fehler"));
			$("#cc #button_profil_anlegen2").addClass("disabled");
			$("#cc #button_profil_anlegen2").attr("disabled", "disabled");
		} else {
			not_too_short = true;
		}
		
		if(same_val && not_too_short) {
			no_border($("#cc #register_form_fehler"));
			unmarkField($("#cc #loginuserpassword_login_anlegen"));
			unmarkField($("#cc #loginuserpasswordWDH_login_anlegen"));
			hideError("register_form_fehler");
			$("#cc #button_profil_anlegen2").removeClass("disabled");
			$("#cc #button_profil_anlegen2").removeAttr("disabled");
		}
	});
	
	
	// Validierung Passwort vergessen
	$("#cc #register_form_retrieve_pw #loginemail_lostpw").blur(function() {
		if(!(checkEmail($("#cc #loginemail_lostpw").val()))) {
			if($("#cc #loginemail_lostpw").val() != "") {
				markField($("#cc #loginemail_lostpw"));
				field_border($("#cc #register_form_retrieve_pw_fehler"));
				displayError("register_form_retrieve_pw_fehler", kundenkarte_login_passwortvergessen_emailerrortext);
				$("#cc #button_passwort_vergessen").addClass("disabled");
				$("#cc #button_passwort_vergessen").attr("disabled", "disabled");
			} else {
				$("#cc #button_passwort_vergessen").addClass("disabled");
				$("#cc #button_passwort_vergessen").attr("disabled", "disabled");
			}
		} else {
			hideError("register_form_retrieve_pw_fehler");
			unmarkField($("#cc #loginemail_lostpw"));
			no_border($("#cc #register_form_retrieve_pw_fehler"));
			if($("#cc #nachname").val() != "") {
				$("#cc #button_passwort_vergessen").removeClass("disabled");
				$("#cc #button_passwort_vergessen").removeAttr("disabled");
			}
		}
	});
	
	
	$("#cc #register_form_retrieve_pw #nachname").bind("keydown blur", function() {
		if(($(this).val() != "") && (checkEmail($("#cc #loginemail_lostpw").val()))) {
			$("#cc #button_passwort_vergessen").removeClass("disabled");
			$("#cc #button_passwort_vergessen").removeAttr("disabled");
		} else {
			$("#cc #button_passwort_vergessen").addClass("disabled");
			$("#cc #button_passwort_vergessen").attr("disabled", "disabled");
		}
	});
	
	
	// Bei leerer Eingabe von CC-ID Login + Passwort reaktivieren (Login-Seite)
	$("#cc #loginemail_page_ccid").blur(function() {
		$("#cc #page_login_form_karte").hide();
		$("#cc #page_login_form").show();
		$("#cc #page_login_form #loginemail_page_login").val($(this).val());
		$("#cc #page_login_form #loginemail_page_login").trigger("blur");
		$("#cc #page_login_form #loginuserpassword_page_login").focus();
		$("#cc #page_login_form_karte #loginkundenkartenummer_page_ccid").val("");
	});
	
	
	
	// Info-Popups an Mouse-Position einblenden
	$("#cc .info_icon").hover(function(e) {
		var id = $(this).attr("id");
		var info_popup = $("#" + id + "_popup");
		info_popup.css({
			"top": (e.pageY + 5) + "px",
			"left": (e.pageX + 15) + "px"
		});
		info_popup.fadeIn();
	}, function() {
		var id = $(this).attr("id");
		var info_popup = $("#" + id + "_popup");
		info_popup.fadeOut();
	});
	
	// FAQ antworten anzeigen
	$(".faq_q").click(function() {
		$(".faq_a").slideUp();
		$(this).parent().children(".faq_a").slideDown();
	});
	
	$(".faq_cat").click(function() {
		var id = $(this).attr("id");
		$(".show_all_faqs").show();
		$(".faqs").slideUp();
		$("#" + id + "_cont").slideDown();
	});
	
	$(".show_all_faqs").click(function() {
		$(".faqs").slideDown();
		$(".show_all_faqs").hide();
	});
	
	
	// Profil aendern, Eingabefelder aktivieren
	$("#cc #button_profil_aendern").click(function() {
		$("#cc .disabled").each(function() {
			if($(this).attr("id") != "vorname" && $(this).attr("id") != "nachname") {
				$(this).removeAttr("disabled");
				$(this).removeClass("disabled");
			}
		});
		$("#cc select").each(function() {
			if($(this).attr("id") != "anrede") {
				$(this).removeAttr("disabled");
			}
		});
			
	});
	
	
	// Wechsel der Zahlungsart
	$("#cc #zahlungsart").change(function() {
		if($(this).val() == "1") {
			$("#cc .kreditkarte").slideUp(300, function() {
				$("#cc .einzug").slideDown(300, function() {
					$("#cc .swift").hide();
					if(zahlung_triggered) {
						$("#cc #register_profil_fehler3").text("");
						$("#cc #register_profil_fehler3").css("border", "none");
						$("#cc #register_profil_fehler3").css("margin", "0px");
					}
					if($("#cc #land").val() != "1") {
						$("#cc #land").trigger("change");
					}
				});
			});
		}
		
		if($(this).val() == "2") {
			$("#cc .einzug").slideUp(300, function() {
				$("#cc .kreditkarte").slideDown(300);
				$("#cc .swift").slideUp(300);
				if(zahlung_triggered) {
					$("#cc #register_profil_fehler3").text("");
					$("#cc #register_profil_fehler3").css("border", "none");
					$("#cc #register_profil_fehler3").css("margin", "0px");
				}
			});
		}
		
		if($(this).val() == "3") {
			$("#cc .kreditkarte").hide();
			$("#cc .einzug").hide();
			$("#cc .einzug input, #cc .einzug select").attr("disabled", "disabled");
			$("#cc .swift").show();
		}
	});
	
	$("#cc #kontaktbetreff, #cc #kontaktmitteilung").blur(function() {
		if($("#cc #kontaktbetreff").val() != "" && $("#cc #kontaktmitteilung").val() != "") {
			$("#cc #button_kontakt").removeAttr("disabled");
			$("#cc #button_kontakt").removeClass("disabled");
		} else {
			$("#cc #button_kontakt").attr("disabled", "disabled");
			$("#cc #button_kontakt").addClass("disabled");
		}
	});
	
	
	// Flash ausblenden
	$("#contentnavi #bilderbanner").hide();
	
	$("input[readonly]").focus(function() {
		$(this).blur();
	});
	
});
