var email_regex = /^[a-zA-Z0-9\-\.\_]+\@[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,6}|[0-9]{1,3})$/;

function switch_to_form() {
	if ($("#calculator_content").length) {
		$("#calculator_content form").css('display', 'block');
		$("#calculator_content #result").css('display', 'none');
	}
}

// Formulareeingaben pruefen
function checkForm(formname, werte) {
	var fields = new Array();
	var check = 0;
	var check_email = -1;

	for (var i=0; i<werte.length; i++) {
		fields[i] = document[formname][werte[i]].value;
	}

	for (var i=0; i<fields.length; i++) {
		if (fields[i] == "") {
			alert('Geben Sie bitte Ihre E-Mail-Adresse an.');
			return false;
		} else {
			check++;
		}
		if (werte[i] == 're_email') {
			check_email = fields[i].search(email_regex);
			if (check_email == -1) {
				alert('Bitte tragen Sie eine korrekte E-Mail-Adresse ein.');
				return false;
			}
		}
	}
	if (check == werte.length) {
		return true;
	} else {
		return false;
	}
}

// Funktion zum Unterbinden von Mehrfachausfuehrungen
var only_once_list = new Array();
function only_once(obj) {
	if(only_once_list[obj.name] == 1) {
		return true;
	}
	if(obj.href) {
		obj.disabled;
		if(obj.style) {
			obj.style.color = "#999999";
			obj.style.textDecoration = "none";
			obj.style.cursor = 'wait';
		}
		return true;
	}
	for(var i = 0; ; i++) {
		if(!obj[i]) { break; }
		if(obj[i].type != 'button' && obj[i].type != 'submit') { continue; }
		if(obj[i].name == 'execonce') {
			obj[i].disabled;
			if(obj[i].style) {
				obj[i].style.backgroundColor = "#CCCCCC";
				obj[i].style.color = "#999999";
				obj[i].style.border = "solid #999999 1px";
			}
		}
	}
	only_once_list[obj.name] = 1;
	return true;
}

// Funktion fuer die Startseiten-Animation
function animation_start() {
	// Anzahl der Bilder
	var length = $("#animation_img img").length;
	// alten Index festlegen
	var old_index = $("#animation_img img").index($("#animation_img .active"));
	// neuen Index festlegen
	var new_index = old_index + 1;
	// neuen Index auf Gueltigkeit pruefen und entsprechend setzen
	new_index = (new_index < length) ? new_index : 0;
	
	// aktuelle Grafik entfernen
	$("#animation_img img:eq(" + old_index + ")").fadeOut(600, function() {
		$(this).removeClass("active");
	});
	// naechste Grafik anzeigen
	$("#animation_img img:eq(" + new_index + ")").fadeIn(1200, function() {
		$(this).addClass("active");
	});
}

$(document).ready(function() {

	// Karussell nur auf der Startseite starten
	if(document.getElementById("carussell")) {
		initCaroussell();
	}

	$('.harmonica-headline').click(function() {
		$('.harmonica-text').slideToggle(1000);
		$('a.harmonica-button').toggleClass('closed');
	});

	// Interaktionen fuer die Newsletter-Anmeldung
	$("#form-newsletter .text").focus(function() {
		$(this).prev().addClass("focus");
	});
	$("#form-newsletter .text").keypress(function() {
		$(this).prev().addClass("hasText");
	});
	$("#form-newsletter .text").blur(function() {
		if ($(this).val() === "") {
			$(this).prev().removeClass("focus").removeClass("hasText");
		}
	});
	
	// Animation der Person-Bilder auf der Startseite
	if ( $("#animation_img").length ) {
		setInterval("animation_start()", 5000);
	}
	
	// Funktionen der Weiterempfehlung
	$(".recommend").click(function(event) {
		if ($(this).hasClass("hover")) {
			$("#recommend").hide();
			$(".recommend").removeClass("hover");
		} else {
			$("#recommend").show();
			$(".recommend").addClass("hover");
		}
		event.preventDefault();
	});
	$(".close_recommend").click(function() {
		$("#recommend").hide();
		$(".recommend").removeClass("hover");
	});
	$("[name='recommend_form']").submit(function() {
		var error = 0;
		// Fehler-CSS-Klassen zuruecksetzen
		$("[name='mailrecipient'], [name='mailsender']").parent().removeClass("error");
		// beide E-Mail-Felder validieren
		if ( $("[name='mailrecipient']").val().search(email_regex) === -1 ) {
			$("[name='mailrecipient']").parent().addClass("error");
			error++;
		}
		if ( $("[name='mailsender']").val().search(email_regex) === -1 ) {
			$("[name='mailsender']").parent().addClass("error");
			error++;
		}
		if (error) {
			return false;
		}
		return true;
	});
	
	$('input[name="url"]').val(document.URL);
	
	$('#contact_form input[type=checkbox]').click(function() {
		if ($('#contact_form input[type=checkbox]:checked').length == 1) {
	    	$('#contact_form input[name=conf]').val('kontakt_nl.conf');
		} else {
		    $('#contact_form input[name=conf]').val('kontakt.conf');
		}
	});
	
	$('#contact_form input[class=cf_email]').blur(function() {
		$('#contact_form input[name=getem]').val($('#contact_form input[class=cf_email]').val());
	});

	
	if($(".calc a").length) {
		$(".calc a").colorbox({
			inline: true,
			href: "#calculator",
			opacity: 0.85,
			width: "1000px",
			height: "730px",
			scrolling: false
		});
	}
	
	
	
	jQuery(".cboxElement").click(function() { 
	    if (jQuery("#cboxClose").length == 1) {
	    	window.setTimeout('switch_to_form()', 300);
	    }	
	});
});
