$(document).ready(function() {
	/* INPUTFELDER */
	$('input[type=text]').click(function(){
		$(this).attr('value','');
	});
	
	$('h5 a').click(function(){
		return false;
	});
	
	$('.box-2').append('<br class="clear" />'); 
	
	var jetzt = new Date();	
	var jJahresmonat = jetzt.getMonth();
	var jJahr = parseInt(jetzt.getFullYear());
	var Monat = new Array("Januar", "Februar", "M&auml;rz", "April", "Mai", "Juni","Juli", "August", "September", "Oktober", "November", "Dezember");
	var tJahresmonat = jJahresmonat;
	var tJahr = jJahr;
	
	$('#anmeldeform').validate({
		focusCleanup: false,
		validClass: "success",
		errorLabelContainer: ".box",
		errorElement: "p",
		rules: {
			anmeldung: "required",
			name: { 
				required:true
			},
			firmenplz: {
				digits: true,
				minlength:5,
				maxlength:5
			},	
			email: {
				required: true,
				email: true
			},
			AGB: 'required'
		},
		messages: {
			anmeldung: "Bitte wählen Sie, ob Sie eine Firmenanmeldung oder eine Privatanmeldung vornehmen.",
			firmenname: "Sie haben keinen Firmennamen eingegeben.",
			firmenstrasse: "Geben Sie bitte die Strasse Ihres Firmensitzes ein.",
			firmenplz: "Geben Sie bitte die Postleitzahl Ihres Firmensitzes ein.",
			firmenort: "Geben Sie bitte den Ort Ihres Firmensitzes ein.",
			name: "Geben Sie einen Nachnamen ein.",
			prename: "Geben Sie einen Vornamen ein.",
			telephone: "Geben Sie eine Telefonnummer ein.",
			privat_strasse: "Geben Sie Ihre private Anschrift (Straße) an.",
			privat_plz: "Geben Sie Ihre private Anschrift (Postleitzahl) an.",
			privat_ort: "Geben Sie Ihre private Anschrift (Ort) an.",
			anmelder_name: "Geben Sie Ihren Namen als Anmelder an.",
			anmelder_email: "Geben Sie Ihre E-Mail-Adresse als Anmelder an.",
			email: {
				required: "Wir brauchen die E-Mail-Adresse um den Teilnehmer zu informieren.",
				email: "Ihre eingegebene E-Mail-Adresse ist nicht gültig."
			},
			AGB: "SIE MÜSSEN DIE AGB'S AKZEPTIEREN!"
		}
	});
	
	$('#newsletterform').validate({
		errorElement: "label",
		errorClass: "err"
	});
	
	/* STYLES ANPASSEN */
	$('.box-2 .col-teaser:last').addClass('nomargin');
	$('table tr[class~=Archiv]').hide();
	$('table:not(.contenttable) tbody tr:visible:odd').css('background-color', '#E2E4E7');
	$('table:not(.contenttable) tbody tr:visible:even').css('background-color', '#FFFFFF');
	
	
	/* FANCYBOX */
	function formatTitle(title, currentArray, currentIndex, currentOpts) {
    	return (title && title.length ? '<h3>' + title + '</h3>' : '' ) + '<h3>Bild ' + (currentIndex + 1) + '</h3>';
	}

 	$('.bilder-ul a').fancybox({
		'padding': 20,
		'titleFormat':formatTitle
		
	});
	
	$('.dozent-info a').fancybox({
		padding: 20,
		width: 600,
		autoDimensions: false
	});
	
	function getMonth(Jahresmonat, Jahr) {
		
		// FUNKTION FÜR ARCHIV NOCH FINDEN
		if ( Jahresmonat == 0 ) {
			$('.month').html('<span title="' + Monat[Jahresmonat] + ' ' + Jahr + '" rel="' + Jahresmonat + '" year="' + Jahr + '">' + Monat[Jahresmonat] + ' ' + Jahr + '</span>');
			$('.month-prev').html('<span title="' + Monat[11] + ' ' + (Jahr-1) + '" rel="11" year="' + (Jahr-1) + '">' + Monat[11] + ' ' + (Jahr-1) + '</span>');
			$('.month-next').html('<span title="' + Monat[Jahresmonat+1] + ' ' + Jahr + '" rel="' + (Jahresmonat+1) + '" year="' + Jahr + '">' + Monat[Jahresmonat+1] + ' ' + Jahr + '</span>');
		} 
		
		else if( Jahresmonat == 11 ) {
			$('.month').html('<span title="' + Monat[Jahresmonat] + ' ' + Jahr + '" rel="' + Jahresmonat + '" year="' + Jahr + '">' + Monat[Jahresmonat] + ' ' + Jahr + '</span>');
			$('.month-prev').html('<span title="' + Monat[Jahresmonat-1] + ' ' + Jahr + '" rel="' + (Jahresmonat-1) + '" year="' + Jahr + '">' + Monat[Jahresmonat-1] + ' ' + Jahr + '</span>');
			$('.month-next').html('<span title="' + Monat[0] + ' ' + (Jahr+1) + '" rel="0" year="' + (Jahr+1) + '">' + Monat[0] + ' ' + (Jahr+1) + '</span>');						
		} 
		
		else {
			$('.month').html('<span title="' + Monat[Jahresmonat] + ' ' + Jahr + '" rel="' + Jahresmonat + '" year="' + Jahr + '">' + Monat[Jahresmonat] + ' ' + Jahr + '</span>');
			$('.month-prev').html('<span title="' + Monat[Jahresmonat-1] + ' ' + Jahr + '" rel="' + (Jahresmonat-1) + '" year="' + Jahr + '">' + Monat[Jahresmonat-1] + ' ' + Jahr + '</span>');
			$('.month-next').html('<span title="' + Monat[Jahresmonat+1] + ' ' + Jahr + '" rel="' + (Jahresmonat+1) + '" year="' + Jahr + '">' + Monat[Jahresmonat+1] + ' ' + Jahr + '</span>');						
		}
		
		
		if ( jJahr > Jahr ){
			// Wenn Jahr in der Vergangenheit -> Sowieso Archiv
			setToArchive(true);
			
		} else if ( jJahr == Jahr) {
			// Wenn Jahr gleich ist, überprüfe den Monat 
			if( jJahresmonat > Jahresmonat ){
				// Archiv
				setToArchive(true);				
			} else {
				setToArchive(false);
			}				
		} else {
			// Wenn Jahr in der Zukunft -> Sowieso Aktuell
			setToArchive(false);			
		} 
		
		$('#prio-1 select option[value=' + $('.month').text() + ']').attr('selected', 'selected');		
	}
	
	function setToArchive(bool) {
		$('#prio-1 select').html('');
		if(bool) {
			$('#prio-1 input[type=checkbox]:eq(0)').removeAttr('checked');
			$('#prio-1 input[type=checkbox]:eq(1)').attr('checked', 'checked');
			tJahr = jJahr;
			tJahresmonat = jJahresmonat;
			// Wenn Archiv, dann muss die Selectbox umgeschrieben werden
			for (i=11; i > 0; i--){
				if(tJahresmonat > 0) {
					$('#prio-1 select').append('<option title="' + tJahresmonat + '" value="' + Monat[tJahresmonat] + ' ' + tJahr + '">' + Monat[tJahresmonat] + ' ' + tJahr + '</option>'); 
				} else {
					tJahresmonat = 12;
					tJahr--;
	
					$('#prio-1 select').append('<option title="' + tJahresmonat + '" value="' + Monat[tJahresmonat] + ' ' + tJahr + '">' + Monat[tJahresmonat] + ' ' + tJahr + '</option>');
				}
				tJahresmonat--;	
			} 			
		} else {
			$('#prio-1 input[type=checkbox]:eq(1)').removeAttr('checked');
			$('#prio-1 input[type=checkbox]:eq(0)').attr('checked', 'checked');
			// Jetzt + 10 Monate
			tJahr = jJahr;
			tJahresmonat = jJahresmonat;
			for (i=0; i<12; i++){
				if(tJahresmonat < 12) {
					$('#prio-1 select').append('<option title="' + tJahresmonat + '" value="' + Monat[tJahresmonat] + ' ' + tJahr + '">' + Monat[tJahresmonat] + ' ' + tJahr + '</option>'); 
				} else {
					tJahresmonat = 0;
					tJahr++;
					$('#prio-1 select').append('<option title="' + tJahresmonat + '" value="' + Monat[tJahresmonat] + ' ' + tJahr + '">' + Monat[tJahresmonat] + ' ' + tJahr + '</option>');
				}
				tJahresmonat++;	
			}
		}		
	}
	
	var l = 0;
	var g = 0;

	
	$('.month-prev').live('click', function(){
		$('#prio-1 input[type=checkbox]:eq(2)').attr('checked', 'checked');
		getMonth(parseInt($('.month-prev span').attr('rel')), parseInt($('.month-prev span').attr('year')));
		filter('no');
		l++;
		g--;
		if(l == 11) 
			$(this).hide();
		if(g != 11)
			$('.month-next').show();
		return false;
	});
	
	$('.month-next').live('click', function(){
		$('#prio-1 input[type=checkbox]:eq(2)').attr('checked', 'checked');
		getMonth(parseInt($('.month-next span').attr('rel')), parseInt($('.month-next span').attr('year')));
		filter('no');
		l--;
		g++;
		if(g == 11) 
			$(this).hide();
		if(l != 11)
			$('.month-prev').show();
		return false;
	});
	
	/* ACCORDION */
	$('.accordion').accordion( { autoHeight: false } );

	$( ".dozenten, .dozenten h5 a" ).accordion({ 
		header: 'h5',
		collapsible: true
	 });
	
	$('.kalender-search').accordion({
		active: false,
		collapsible: true
	});	

	function GET( name )
	{
	  name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
	  var regexS = "[\\?&]"+name+"=([^&#]*)";
	  var regex = new RegExp( regexS );
	  var results = regex.exec( window.location.href );
	  if( results == null )
	    return "";
	  else
	    return results[1];
	}
	
	function makeSelection(){
		var criteria = GET('filter');
		if ((criteria != '') && (criteria != 'undefined')) {					
			$('.kalender-search-content input[value~=' + criteria + ']').attr('checked', 'checked');								
			$('.kalender-search-content input[value~=Zeitraum]').removeAttr('checked');					
		}
			
	}
	
	// FILTER
	makeSelection();
	filter('');

	$('.kalender-search-content input').live('click',function(){
		if($(this).val() == 'alle') {
			if($(this).attr('checked') == false ) {
				$(this).parent().find('input').removeAttr('checked');
				if($(this).parent().attr('id') == 'prio-2')
					$('#kategorie input').removeAttr('checked');
			} else {
				$(this).parent().find('input').attr('checked', 'checked');
				if($(this).parent().attr('id') == 'prio-2')
						$('#kategorie input').attr('checked', 'checked');
			}
		} else {
			if($(this).attr('checked') == false )
				$(this).parent().find('input[value=alle]').removeAttr('checked');
		}
		filter('');
	});
	$('.kalender-search-content').live('change',function(){
		filter($(this).attr('id'));
		
	});	
	$('#kategorie input').click(function(){
		filter('kategorie');
	});
	
	function filter(sync) {	
		$('#filter tbody tr').show(); 		
		//INITIALISIERUNG DER VARIABLEN
		var statAkt = '';
		var statArc = '';
		var showTr	= '';
		var pNr		= 0;
		var cNr		= 0;
		var kNr		= 0;
                var thNr		= 0;
		var pName	= new Array();
		var cName	= new Array();
		var kName	= new Array();
		var thName	= new Array();
		var i,j,k	= 0;
		var tRange	= '';		
		var completeTime = false;
					
		statAkt = $('#prio-1 input[type=checkbox]:eq(0)').attr('checked');
		statArc = $('#prio-1 input[type=checkbox]:eq(1)').attr('checked');
		
		// FILTER NACH ARCHIV
		if(statAkt && statArc) {
			$('#filter tbody tr').attr('flag', 'on');
			completeTime = true;
		} else if (statAkt && !statArc) {
			$('#filter tbody tr:visible[class=Aktuell]').attr('flag', 'on');
		} else if (!statAkt && statArc) {
			$('#filter tbody tr:visible[class=Archiv]').attr('flag', 'on');
			
		} else  {
			$('#filter tbody tr').hide();
		}
		// ZWISCHENAUSBLENDEN
		$('#filter tbody tr').hide();
		$('#filter tbody tr[flag=on]').show();
		$('#filter tbody tr').removeAttr('flag');
		
		// FILTER NACH ZEITRAUM
		if($('#prio-1 input[type=checkbox]:eq(2)').attr('checked')) {
			$('.paginator').css('visibility', 'visible');
			tRange = $('#prio-1 select option:selected').val();
			if((tRange != 'alle') && (tRange != undefined) && (!completeTime)) {
				tDate = tRange.split(' ');
				if(sync != 'no')
					getMonth(parseInt($('#prio-1 select option:selected').attr('title')), parseInt(tDate[1]));
				$('#filter tr:visible[rel~=' + (tRange) + ']').attr('flag', 'on');
				// ZWISCHENAUSBLENDEN
				$('#filter tbody tr').hide();
				$('#filter tbody tr[flag=on]').show();
				$('#filter tbody tr').removeAttr('flag');
			}
		} else {
			$('.paginator').css('visibility', 'hidden');
		}
		
		if(sync == 'kategorie') {
		// FILTER NACH PRODUKTEN
			$('#prio-2 input').removeAttr('checked');
			kNr = ($('#kategorie input:not(input[value=alle]):checked').size());
			if(kNr) {
				for(k=0; k<kNr; k++){
					kName[k] = $('#kategorie input:checked:eq(' + k + ')').val();
					$('#filter tbody tr:visible[rel~=' + kName[k] + ']').attr('flag', 'on');
					$('#prio-2 input[value=' + kName[k] + ']').attr('checked', 'checked');
				}
				// ZWISCHENAUSBLENDEN
				$('#filter tbody tr').hide();
				$('#filter tbody tr[flag=on]').show();
				$('#filter tbody tr').removeAttr('flag');
			}
		} else {
			$('#kategorie input').removeAttr('checked');
			pNr = ($('#prio-2 input:not(input[value=alle]):checked').size());
			if(pNr) {
				for(i=0; i<pNr; i++){
					pName[i] = $('#prio-2 input:checked:eq(' + i + ')').val();
					$('#filter tbody tr:visible[rel~=' + pName[i] + ']').attr('flag', 'on');
					$('#kategorie input[value=' + pName[i] + ']').attr('checked', 'checked');
				}
				// ZWISCHENAUSBLENDEN
				$('#filter tbody tr').hide();
				$('#filter tbody tr[flag=on]').show();
				$('#filter tbody tr').removeAttr('flag');
			}	
		}			
		// FILTER NACH DEM REST
		cNr = ($('#prio-3 fieldset:eq(0) input:not(input[value=alle]):checked').size());
		if(cNr) {
			for(j=0; j<cNr; j++){
				cName[j] = $('#prio-3 fieldset:eq(0) input:checked:eq(' + j + ')').attr('name');
                                $('#filter  tbody tr:visible .zielgruppe:contains(' + cName[j] + ')').parent('tr').attr('flag', 'on');
				
			}
			// ZWISCHENAUSBLENDEN
			$('#filter tbody tr').hide();
			$('#filter tbody tr[flag=on]').show();
			$('#filter tbody tr').removeAttr('flag');
		}
		
		// FILTER NACH DEM REST
		thNr = ($('#prio-3 fieldset:eq(1) input:not(input[value=alle]):checked').size());
		if(thNr) {
			for(j=0; j<thNr; j++){
				thName[j] = $('#prio-3 fieldset:eq(1) input:checked:eq(' + j + ')').attr('name');
				$('#filter tbody tr:visible[rel~=' + thName[j] + ']').attr('flag', 'on');
			}
			// ZWISCHENAUSBLENDEN
			$('#filter tbody tr').hide();
			$('#filter tbody tr[flag=on]').show();
			$('#filter tbody tr').removeAttr('flag');
		}	
		
		// ZUM SCHLUSS TR EINFÄRBEN
		$('#filter tbody tr:visible:odd').css('background-color', '#E2E4E7');
		$('#filter tbody tr:visible:even').css('background-color', '#FFFFFF');
		// FEHLERBOX ANZEIGEN
		if($('table').size() > 0)
			if($('table tbody tr:visible').size() == 0){ 
				$('div.error').show();
				$('#filter thead').hide();
			}	
			else {
				$('#filter thead').show();			
				$('div.error').hide();
			}
			 
	}
	/* ANMELDUNG */
	$('a[rel=add-user]').click(function(){
		if ($('.teilnehmer').size() < 6) {
			var iNr = $('.teilnehmer:last input').size(); 
			$('.teilnehmer:first').clone().insertAfter('.teilnehmer:last');
			$('.teilnehmer:last h3').text('Teilnehmer ' + $('.teilnehmer').size() );
			for (i = 0; i<iNr; i++)
				$('.teilnehmer:last input:eq(' + i + ')').attr('name', $('.teilnehmer:first input:eq(' + i + ')').attr('name') + $('.teilnehmer').size());
			if($('.teilnehmer').size() == 5)
				$('a[rel=add-user]').hide();
		}
		return false;
	});
	
	$('input[name=anmeldung]').live('click', function(){
		var selection	= $(this).attr('value');
		if (selection != 'privatanmeldung') {
			$('.rechnungsadresse input:first').attr('checked', 'checked');
			$('.rechnungsadresse .adresse input, .rechnungsadresse input:eq(1)').attr('disabled', 'disabled');
			$('.rechnungsadresse .adresse').css('-moz-opacity', '0.2');
			$('.firma sup, a[rel=add-user]').show();
			$('.firma input').addClass('required').removeAttr('disabled');
			$('.sameRegistration input').removeClass('required');
			$('.sameRegistration input').removeAttr('disabled');
			$('input[name=sameRegistration]').removeAttr('checked');
			$('.sameRegistration, .firma').css('-moz-opacity', '1');
			
		} else {
			$('.rechnungsadresse input:eq(1)').attr('checked', 'checked');
			$('.rechnungsadresse .adresse input').removeAttr('disabled');
			$('.rechnungsadresse .adresse').css('-moz-opacity', '1');
			$('.firma sup, a[rel=add-user]').hide();
			$('.firma input').removeClass('required').attr('disabled', 'disabled');
			$('.sameRegistration input').addClass('required');
			$('.rechnungsadresse input:eq(0)').attr('disabled', 'disabled');
			$('input[name=sameRegistration]').attr('checked','checked');
			$('.sameRegistration input').attr('disabled', 'disabled');
			$('.sameRegistration, .firma').css('-moz-opacity', '0.2');
		}
	});
	
	$('.rechnungsadresse input[type=radio]').live('click', function(){
		var element = '#'+$(this).parent('div').attr('id');
		var selection	= $(this).attr('value');
		if(selection != '1-pay'){
				$(element + ' .adresse input').removeAttr('disabled');
				$(element + ' .adresse').css('-moz-opacity', '1');
		} else {
			$(element + ' .adresse input').attr('disabled', 'disabled');
			$(element + ' .adresse').css('-moz-opacity', '0.2');
		}
	}); 
	$('input[name=sameRegistration]').click(function(){
		if ($('input[name=sameRegistration]:checked').size() < 1) {
			$('.sameRegistration input').removeAttr('disabled');
			$('.sameRegistration').css('-moz-opacity', '1');
		}
		else {
			$('.sameRegistration input').attr('disabled', 'disabled');
			$('.sameRegistration').css('-moz-opacity', '0.2');
		}
	});	
	
	$('a.filter').click(function(){
		$('.kalender-search').accordion('option', 'active', false);
		return false;
	});
});

