$(document).ready(function(){
	$('form tr.req').each(function() {
		$("td.label", $(this)).append('<span class="req">*</span>');
	});

	$('form#registration input[name="type"]').change(function() {
		$("form#registration").submit();
	});
	
	if ($('form input[name="status"]').val() == "error") {
		formValidator($("form"));
	}
	
	$('form button.submit').click(function() {
	
		if (formValidator($(this).parents("form")) == 0) {
			$('input[name="status"]', $(this).parents("form")).val("ok");
			
			$(this).parents("form").submit();
			return true;
		}
		
		alert("Felder mit einem * markiert sind Pflichtfelder");
		
		return false;
	});
	
	if ($.datepicker) {
		$.datepicker.setDefaults($.extend({}, $.datepicker.regional['de_CH']));
		$('div#sidebar div.datepicker').datepicker({
		    inline: true,
		    showWeek: true,
		    autoSize: true,
		    onSelect: function(date, inst) {
				window.location.href="/veranstaltungen/index.php?tag=" + date + "&kategorien=" + $('div.box select[name="kategorien"]').val();
			}
		});
	}
	
	var queryStringList = getUriParams();
	if (queryStringList['tag'] && !queryStringList['woche']) {
		$('div#sidebar div.datepicker').datepicker("setDate", queryStringList['tag']);
	} else if (queryStringList['woche']) {
		$('div#sidebar div.datepicker').datepicker("setDate", queryStringList['tag']);		
		$('div#sidebar div.datepicker tr.week-' + queryStringList['woche']).addClass("ui-datepicker-week-row-selected");
	}	
	
	$("a.delete").click(function(){
		if (!confirm("Wollen Sie diesen Eintrag wirklich löschen?")) {
			return false;
		}
		return true;
	});
	
	$('form#registration input[name="kontakt[praesident]"]:checked').each(function() {
		$("table.ptable", $(this).parents("form")).hide();
		$(":input", $("table.ptable", $(this).parents("form"))).attr("disabled", true);
	});
	
	$('form#registration input[name="kontakt[praesident]"]').click(function() {
		$table = $("table.ptable", $(this).parents("form"));

		if ($(this).is(':checked')) {
			$table.hide();
			$(":input", $table).attr("disabled", true);
		}
		else {
			$table.show();
			$(":input", $table).attr("disabled", false);			
		}
	});
});

function formValidator(form) {
	var errors = 0; 
	$('tr.req :input', form).each(function() {
		if ($(this).attr("disabled") != true && $(this).val() == "") {
			errors++;
			$(this).addClass("formerror");
		}
		else {
			$(this).removeClass("formerror");
		}
	});
	
	$('input.email', form).each(function() {
		if ($(this).attr("disabled") != true) {
			if (!validateEmail($(this).val())) {
				errors++;
				$(this).addClass("formerror");
			}
		}
	});
	
	return errors;
}

function validateEmail(email) {
	if (email == "") return true;
	var reg = /^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/;
	if(reg.test(email) == false) {
		return false;
	}
	return true;
}


function getUriParams () {
	var url = window.location.toString();
	url.match(/\?(.+)$/);
	var params = RegExp.$1;
	var params = params.split("&");
	var queryStringList = {};
	
	for(var i=0;i<params.length;i++) {
	    var tmp = params[i].split("=");
	    queryStringList[tmp[0]] = unescape(tmp[1]);
	}
	return queryStringList;
}


