function number_format (number, decimals, dec_point, thousands_sep) {
	number = (number + '').replace(/[^0-9+\-Ee.]/g, '');
	var n = !isFinite(+number) ? 0 : +number,
		prec = !isFinite(+decimals) ? 0 : Math.abs(decimals),
		sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep,
		dec = (typeof dec_point === 'undefined') ? '.' : dec_point,
		s = '',
		toFixedFix = function (n, prec) {
			var k = Math.pow(10, prec);
			return '' + Math.round(n * k) / k;
		};
	// Fix for IE parseFloat(0.55).toFixed(0) = 0;
	s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)).split('.');
	if (s[0].length > 3) {
		s[0] = s[0].replace(/\B(?=(?:\d{3})+(?!\d))/g, sep);
	}
	if ((s[1] || '').length < prec) {
		s[1] = s[1] || '';
		s[1] += new Array(prec - s[1].length + 1).join('0');
	}
	return s.join(dec);
}

function checkState(checkbox,gruppeid,moduleid,maxcountmodule,mincountmodule,recalcPrice) {
	var count = $('input:checkbox[name^="anmeldung[module]['+gruppeid+']"]:checked').length;
	var modulecount = $('input:checkbox[name^="anmeldung[module]['+gruppeid+']"]').length;
	
	if (!(maxcountmodule == 1 && mincountmodule == 1)) {
		// Nur bei Checkboxen überprüfen
		if (checkbox.checked) {
			if (count>maxcountmodule && modulecount>1) {
				if (maxcountmodule>1) {
					checkbox.checked = false;
					recalcPrice = false;
				}
				else {
					$('input:checkbox[name^="anmeldung[module]['+gruppeid+']"]:checked').each(function(index) {
						if (this.name != 'anmeldung[module]['+gruppeid+']['+moduleid+']') {
							$(this).removeAttr("checked");
							return false;
						}
					});
				}
			}
		}else{
			if (count<mincountmodule) {
				checkbox.checked = true;
				recalcPrice = false;
			}
		}
	}
	
	if (recalcPrice) {
		$("input:hidden[name=ajax]").attr('value',1);
		jQuery.post($("#anmeldung").attr('action'), $("#anmeldung").serialize(), function(data, textStatus, jqXHR) {
				$('#rabattteilnehmerpreis_netto').text(number_format(data['rabatt_preis'],2,",","."));
				$('#rabattteilnehmerpreis_text').text(data['rabatt_text']);
				$('#teilnehmerpreis_netto').text(number_format(data['seminar_preis'],2,",","."));
				$('input:hidden[name^="anmeldung[rabatt_text]"]').attr('value',data['rabatt_text']);
				$('input:hidden[name^="anmeldung[rabatt_preis]"]').attr('value',data['rabatt_preis']);
				$('input:hidden[name^="anmeldung[seminar_preis]"]').attr('value',data['seminar_preis']);
				if (data['rabatt_preis'] > 0) {
//					$('#teilnehmerpreis_text').toggleClass('bluestar', false).toggleClass('durchstrich',true);
//					$('#teilnehmerpreis').toggleClass('bluestar', false).toggleClass('durchstrich',true);
					$('#rabattpreis').show();
				}
				else {
//					$('#teilnehmerpreis_text').toggleClass('bluestar', true).toggleClass('durchstrich',false);
//					$('#teilnehmerpreis').toggleClass('bluestar', true).toggleClass('durchstrich',false);
					$('#rabattpreis').hide();
				}
			}, 'json' )
		$("input:hidden[name=ajax]").attr('value',0);
	}
}
	
function checkFormTeilnehmer(action_type) {
	document.getElementById('error_div').style.display='none';
	document.getElementById('error_div_modulcount').style.display='none';

	var error = false;
	if (document.forms['anmeldung'].elements["anmeldung[anrede]"].value=='' && 
			document.forms['anmeldung'].elements["anmeldung[vorname]"].value=='' && 
			document.forms['anmeldung'].elements["anmeldung[name]"].value=='' && 
			document.forms['anmeldung'].elements["anmeldung[email]"].value=='' && 
			document.forms['anmeldung'].sum_teilnehmer_count.value > 0 &&
			action_type == 'weiter'){
			document.anmeldung.btn_weiter.value = 'true';
			document.anmeldung.submit();
	} else {
		if (document.forms['anmeldung'].elements["anmeldung[anrede]"].value==''){
			document.getElementById('error_anrede').className='error';
			error = true;
		}else{
			document.getElementById('error_anrede').className='';
		}
		if (document.forms['anmeldung'].elements["anmeldung[vorname]"].value==''){
			document.getElementById('error_vorname').className='error';
			error = true;
		}else{
			document.getElementById('error_vorname').className='';
		}
		if (document.forms['anmeldung'].elements["anmeldung[name]"].value==''){
			document.getElementById('error_name').className='error';
			error = true;
		}else{
			document.getElementById('error_name').className='';
		}
		if (document.forms['anmeldung'].elements["anmeldung[email]"].value==''){
			document.getElementById('error_email').className='error';
			error = true;
		}else{
			document.getElementById('error_email').className='';
			reg = new RegExp('^([a-zA-Z0-9\\-\\.\\_]+)'+
						'(\\@)([a-zA-Z0-9\\-\\.]+)'+
						'(\\.)([a-zA-Z]{2,4})$');
			var email_angabe = document.forms['anmeldung'].elements["anmeldung[email]"].value;
			var email_test = email_angabe.replace(/ /g, "");
			res = (reg.test(email_test));
			if (!res){
				error = true;
				document.getElementById('error_email').className='error';
			}else{
				document.getElementById('error_email').className='';
			}
		}
		
		var hasOptions = ($('input[name^="anmeldung[module]["]').length != 0);
		var allZero = (($('input:checkbox[name^="anmeldung[module]["]:checked').length+$('input:radio[name^="anmeldung[module]["]:checked').length) == 0);
		if (hasOptions && allZero) {
			$('#error_div_allzero').show();
			error = true;
		}
		else
			$('#error_div_allzero').hide();
	
		$('input:hidden[name^="semGroups["][name$="][module_min]"]').each(function(index) {
			var group_id = this.name.substring(10,this.name.length-13)

			if (this.value > 0) {
				var count = 0;
				if (this.value == 1 && $(this).next().attr('value') == 1)
					count = $('input:radio[name^="anmeldung[module]['+group_id+']"]:checked').length;
				else
					count = $('input:checkbox[name^="anmeldung[module]['+group_id+']"]:checked').length;
				if (count<this.value) {
					$('#error_div_modulcount_'+group_id).show();
					error = true;
				}
				else
					$('#error_div_modulcount_'+group_id).hide();
			}
		});
		
		document.anmeldung.btn_weiter.value = '';
		document.anmeldung.btn_delete.value = '';
		
		
		if (error){
			document.getElementById('error_div').style.display='block';
		}else{
			
			if (action_type == 'weiter'){
				document.anmeldung.btn_weiter.value = 'true';
			}else if (action_type == 'entfernen'){
				document.anmeldung.btn_delete.value = 'true';
				document.anmeldung.btn_send.value = '';
			}
			document.anmeldung.submit();
		}
	}
}

function checkFormRechnungsadresse(action_type){
	document.getElementById('error_div').style.display='none';

	var error = false;
	var error_agb = false;
	if (document.forms['anmeldung'].elements["anmeldung_R[anrede]"].value==''){
		document.getElementById('error_anrede').className='error';
		error = true;
	}else{
		document.getElementById('error_anrede').className='';
	}
	if (document.forms['anmeldung'].elements["anmeldung_R[vorname]"].value==''){
		document.getElementById('error_vorname').className='error';
		error = true;
	}else{
		document.getElementById('error_vorname').className='';
	}
	if (document.forms['anmeldung'].elements["anmeldung_R[name]"].value==''){
		document.getElementById('error_name').className='error';
		error = true;
	}else{
		document.getElementById('error_name').className='';
	}
	if (document.forms['anmeldung'].elements["anmeldung_R[firma]"].value==''){
		document.getElementById('error_firma').className='error';
		error = true;
	}else{
		document.getElementById('error_firma').className='';
	}
	if (document.forms['anmeldung'].elements["anmeldung_R[strasse]"].value==''){
		document.getElementById('error_strasse').className='error';
		error = true;
	}else{
		document.getElementById('error_strasse').className='';
	}
	if (document.forms['anmeldung'].elements["anmeldung_R[plz]"].value==''){
		document.getElementById('error_plz').className='error';
		error = true;
	}else{
		document.getElementById('error_plz').className='';
	}
	if (document.forms['anmeldung'].elements["anmeldung_R[ort]"].value==''){
		document.getElementById('error_ort').className='error';
		error = true;
	}else{
		document.getElementById('error_ort').className='';
	}
	if (document.forms['anmeldung'].elements["anmeldung_R[email]"].value==''){
		document.getElementById('error_email').className='error';
		error = true;
	}else{
		document.getElementById('error_email').className='';
		reg = new RegExp('^([a-zA-Z0-9\\-\\.\\_]+)'+
					'(\\@)([a-zA-Z0-9\\-\\.]+)'+
					'(\\.)([a-zA-Z]{2,4})$');
		var email_angabe = document.forms['anmeldung'].elements["anmeldung_R[email]"].value;
		var email_test = email_angabe.replace(/ /g, "");
		res = (reg.test(email_test));
		if (!res){
			error = true;
			document.getElementById('error_email').className='error';
		}else{
			document.getElementById('error_email').className='';
		}
	}
	if (!document.anmeldung.agb.checked){
		error_agb = true;
		error = true;
	}
	if (error_agb){
		document.getElementById('error_div_agb').style.display='block';
	}
	
	if (error && action_type != 'back'){
		document.getElementById('error_div').style.display='block';
	}else{
		document.anmeldung.btn_weiter.value='';
		document.anmeldung.btn_zurueck.value='';
		if (action_type=='weiter'){
				document.anmeldung.btn_weiter.value = 'true';
		}else if(action_type == 'back'){
				document.anmeldung.btn_zurueck.value = 'true';
		}
		document.anmeldung.submit();
	}
}
